【发布时间】:2018-12-23 19:57:02
【问题描述】:
我的 CRA 项目没有解析我的环境变量。我在文档中看到了这一点:
默认情况下,您将为您定义 NODE_ENV,以及任何其他 以 REACT_APP_ 开头的环境变量
下面是一些测试代码:
// .env in the project root folder
REACT_APP_GOOGLE=google.com
REACT_APP_API_POST_URL=http://localhost:4000/api/
// App.js
import dotenv from 'dotenv';
componentDidMount() {
if (dotenv.error) {
console.log('dotenv.error', dotenv.error);
} else { console.log('dotenv.parsed', dotenv.parsed); // undefined
}
}
// App.js insider render()
<button
onClick={e => {
e.preventDefault();
console.log("process.env", process.env); //
// {NODE_ENV: "development", PUBLIC_URL: ""}
// NODE_ENV: "development"
// PUBLIC_URL: ""
console.log("process.env.NODE_ENV", process.env.NODE_ENV); // development
console.log("process.env.REACT_APP_GOOGLE", process.env.REACT_APP_GOOGLE); // undefined
}}
>log .env</button>
有人知道它为什么不解析环境变量吗?
【问题讨论】:
-
你安装了什么版本的
react-scripts? -
来自 package.json:
"react": "^16.6.3", "react-dom": "^16.6.3", "react-scripts": "2.1.1",
标签: reactjs environment-variables