'Create React App: using environment variables in index.html
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't seem to get it to work.
.env
REACT_APP_MY_API=https://something.com
index.html
<script type="text/javascript">
console.log("%REACT_APP_MY_API%") // undefined
console.log("%NODE_ENV%") // development
</script>
Solution 1:[1]
Make sure you restart your create-react-app when adding variables into the .env file
Also make sure you have >= [email protected]
I use .env variables for the meta title of a site with various language versions of the build:
<title>%REACT_APP_SITE_TITLE%</title>
Solution 2:[2]
From the docs (here):
- make sure your
react-scriptsdependency version is equal or greater than0.0.9 - create a
.envfile at the same level of yourpackage.json - make sure all you variables start with
REACT_APP_; for exampleREACT_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
.envfile
Solution 3:[3]
I tried like this 'NODE_ENV=development npm start' and it works well
Solution 4:[4]
If you want environmental variable in script tag, put the variable in quote:
<script src="https://maps.googleapis.com/maps/api/js?key=%REACT_APP_MAP_API%&v=3.exp&libraries=places" async
></script>
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 | HAS-Jack |
| Solution 2 | Maifee Ul Asad |
| Solution 3 | ling yu |
| Solution 4 | Ericgit |
