Create React App: using environment variables in index.html

后端 未结 4 1204
予麋鹿
予麋鹿 2021-02-03 18:00

Is there a way to inject environment variables, e.g. REACT_APP_MY_API into the index.html file?

According to this, it can be done, but I can\'

相关标签:
4条回答
  • 2021-02-03 18:22

    I just tried with an (almost) new CRA setup and it works.

    <head>
      <title>React App</title>
      <script type="text/javascript">
       console.log("%REACT_APP_TEST%") // OK
       console.log("%NODE_ENV%") // development
      </script>
    </head>
    

    Did you try restarting the server? I just tried changing the test variable with your example and it works if you restart the development server.

    As someone pointed out in the comments, the official documentation of CRA has a section about that.

    0 讨论(0)
  • 2021-02-03 18:25

    From the docs (here):

    • make sure your react-scripts dependency version is equal or greater than 0.0.9
    • create a .env file at the same level of your package.json
    • make sure all you variables start with REACT_APP_; for example REACT_APP_TITLE
    • use them in you js / ts code using process.env.REACT_APP_XXX
    • or in you html code surrounding it with % ie <title>%REACT_APP_TITLE%</title>
    • restart your development server / re-compile your app when making changes to your .env file
    0 讨论(0)
  • 2021-02-03 18:29

    Make sure you restart your create-react-app when adding variables into the .env file

    Also make sure you have >= react-scripts@0.9

    I use .env variables for the meta title of a site with various language versions of the build:

    <title>%REACT_APP_SITE_TITLE%</title>

    0 讨论(0)
  • 2021-02-03 18:48

    I tried like this 'NODE_ENV=development npm start' and it works well

    0 讨论(0)
提交回复
热议问题