'Add local script into <head> tag using react-helmet

I have a React 16 project that is already using react-helmet. I want to add a specific inside of the tag. I was hoping I could put the script in my project's src/scripts folder and import it/add it under the <Helmet> tag

The following works:

<Helmet>
  <script type="application/javascript">
    {`
      (function(m,n,e,t,l,o,g,y){
       ...
       })(window,document,window['_fs_namespace']...)
    `}
  </script>
</Helmet>

I was hoping to make it cleaner by extracting (function(m,n,e,t,l,o,g,y)... into the src/scripts/utils.js file and import it that way. I tried fidling with <script src=..> but haven't figured it out.



Solution 1:[1]

You can put your utility function to the src/scripts/utils.js and "export" it, like this:

// src/scripts/utils.js
const myFunction = () => {
  ...
}
window.myFunction = myFunction

And in your main file:

{`
  window.myFunction(window,document,window['_fs_namespace']...)
`}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Dmitriy Zhiganov