简体   繁体   English

process.env.NODE_ENV === "开发" 即使在生产中

[英]process.env.NODE_ENV === "developement" even in production

I want to deploy a React app (made with Create React App) + a Node server with Heroku,我想部署一个 React 应用程序(使用 Create React App 制作)+一个带有 Heroku 的节点服务器,

I did it, but my app can't fetch data from the server,我做到了,但我的应用程序无法从服务器获取数据,

In production, my process.env.NODE_ENV is equal to "development" which causes a lot of wrong stuff in my code,在生产中,我的 process.env.NODE_ENV 等于“开发”,这会导致我的代码中有很多错误的东西,

Do you know what can put process.env.NODE_ENV always at "development"?你知道什么可以让 process.env.NODE_ENV 始终处于“开发”状态吗? At the build, this environment variable is supposed to switch to "production", no?在构建时,这个环境变量应该切换到“生产”,不是吗?

Your package.json add this.你的package.json添加这个。

  "scripts": {
    "start": "export NODE_ENV=development; {your start code}",

Your env variables can be set per environment , in this case in Heroku: https://devcenter.heroku.com/articles/config-vars#using-the-heroku-dashboard您的环境变量可以按环境设置,在这种情况下在 Heroku 中: https ://devcenter.heroku.com/articles/config-vars#using-the-heroku-dashboard

If you want to make sure build always runs with the same NODE_ENV , you can follow @seunggabi 's answer.如果您想确保build始终使用相同的NODE_ENV运行,您可以遵循@seunggabi 的回答。 I'd also use cross-env to make it work cross-platform in such case.在这种情况下,我还会使用cross-env使其跨平台工作。 Per-process variable can be forced on heroku-postbuild task (after && ).可以在heroku-postbuild任务上强制执行每个进程变量(在&&之后)。

You can take control of your Environment with env-cmd .您可以使用env-cmd控制您的环境。 They make easy to switch between your local development, testing, staging, UAT or production.它们使您在本地开发、测试、登台、UAT 或生产之间轻松切换。

You can refer to this article .你可以参考这篇文章 This is was very helpful for me这对我很有帮助

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Webpack:-p vs NODE_ENV =生产vs process.env.NODE_ENV - Webpack: -p vs NODE_ENV=production vs process.env.NODE_ENV 如何从ReactJS生产版本中删除process.env.NODE_ENV检查? - How are the process.env.NODE_ENV checks removed from ReactJS production builds? 在heroku开发之后,process.env.NODE_ENV被开发 - process.env.NODE_ENV is development in after heroku development 使用browserify / envify删除process.env.NODE_ENV? - Removing process.env.NODE_ENV with browserify/envify? 启用CLI而不删除process.env.NODE_ENV - Envify CLI not removing process.env.NODE_ENV 反应 | webpack | 在 Azure 上获取 process.env.NODE_ENV== undefined - React | webpack | getting process.env.NODE_ENV== undefined on Azure 在运行时可在create-react-app中将“ process.env.NODE_ENV”替换为字符串或过程对象 - 'process.env.NODE_ENV' replaced as a string or process object is available at runtime in create-react-app process.env.NODE_ENV 在 webpack 4 中返回 undefined,服务器端 - process.env.NODE_ENV returns undefined in webpack 4, server-side 有没有办法在我的单元测试中使用webpack和mocha来模拟`process.env.NODE_ENV`? - Is there a way to mock `process.env.NODE_ENV` in my unit test using webpack and mocha? Webpack.config.js process.env.NODE_ENV无法正常工作。 -ReactJS- - Webpack.config.js process.env.NODE_ENV not workinkg. - ReactJS -
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM