使用creact-react-app脚手架工具创建的项是否有一个全局变量用来区分开发环境或生产环境
比如env什么的,想在不同环境中进行些操作。
使用creact-react-app脚手架工具创建的项是否有一个全局变量用来区分开发环境或生产环境
比如env什么的,想在不同环境中进行些操作。
process.env.NODE_ENV 是否等于 production 来进行在代码中进行判断,包括 react 等库中也是这样内部判断。
生产环境跑命令时加上 flag: NODE_ENV=production 就可以了
代码里面还是可以使用 process.env.NODE_ENV 来进行判断,但是在最终打包时并不能显式的更改了,npm start
这个 flag 的值是 development
npm run build
这个 flag 的值是 production
, 确实如同 @苍山沭河 所说,不能手动再更改了。
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
必须提醒楼主,采纳的答案是错误的。
creact-react-app创建的项目是无法手动指定NODE_ENV的,NODE_ENV在你选择执行命令时已经确定下来,npm start时,NODE_ENV='development';npm run build 时,NODE_ENV='production',你无法覆盖默认选项,下面是creact-react-app官网的原话:
When you run npm start, it is always equal to 'development', when you run npm test it is always equal to 'test', and when you run npm run build to make a production bundle, it is always equal to 'production'. You cannot override NODE_ENV manually. This prevents developers from accidentally deploying a slow development build to production.
如果你非要在npm start时区分环境,只能自己配置webpack,这时候NODE_ENV是可以被修改的。