我正在使用create react app来引导我的应用程序。
我在根目录中添加了两个.env文件。.env.development``.env.production
.env
.env.development``.env.production
我的.env.development包括:
.env.development
API_URL=http://localhost:3000/api CALLBACK_URL=http://localhost:3005/callback
react-scripts start当我使用和控制台运行我的应用程序时,process.env它会吐出
react-scripts start
process.env
{ NODE_ENV: "development", PUBLIC_URL: "" }
我尝试了不同的东西,但它只是没有在我的开发文件中获取验证,我做错了什么?!
目录结构为:
/.env.development /src/index.js
Package.json 脚本是:
"start": "export PORT=3005; npm-run-all --parallel server:start client:start", "client:start": "export PORT=3005; react-scripts start", "server:start": "node server.js", "build": "react-scripts build",
编辑:
@jamcreencia 正确地指出我的变量应该以REACT_APP.
REACT_APP
编辑 2
如果我命名文件,它可以正常工作,.env但如果我使用.env.development或.end.production
.end.production
使用创建反应应用程序,您需要为REACT_APP_变量名称添加前缀。前任:
REACT_APP_
REACT_APP_API_URL=http://localhost:3000/api REACT_APP_CALLBACK_URL=http://localhost:3005/callback
关于添加自定义环境变量的 CRA 文档:
注意 :您必须创建以 . 开头的自定义环境变量REACT_APP_。除此以外的任何其他变量都NODE_ENV将被忽略,以避免在机器上意外暴露可能具有相同名称的私钥
NODE_ENV