20

在我的 app.js 文件顶部,我放了

NODE_ENV='development';

但我收到错误,NODE_ENV 未定义。但是在 nodejs 文档中说 NODE_ENV 是全局的。如何使用开发设置启动我的应用程序?谢谢你。

4

5 回答 5

32

最好在开发模式下启动您的应用程序,如下所示:

NODE_ENV=development node app.js

但是如果你真的想设置它,你的应用文件只需像这样设置它:

process.env.NODE_ENV= "development"
于 2013-10-21T20:06:45.727 回答
5

NODE_ENV 是一个环境变量
当您调用 Node.js 时,您在 shell 中设置它。

但是,开发是默认设置;如果你想要产品,你只需要做任何事情。

于 2013-10-21T20:05:01.387 回答
5

如果你想在你的js文件中设置一个环境变量,你应该这样做:

process.env.NODE_ENV = 'development';

或者,您可以在 shell 中设置变量并运行您的应用程序:

$ NODE_ENV="development" node ./app.js

或导出变量并运行您的应用程序:

$ export NODE_ENV="development"
$ node ./app.js

在 Windows 上:

$ set NODE_ENV="development"
$ node app.js
于 2013-10-21T20:05:10.683 回答
3

通过使用 NPM,您可能会在 package.json 中使用以下脚本:

  "scripts": {
    "start": "nodemon ./bin/www",
    "dev_win": "set NODE_ENV=development && node ./bin/www >> /romba/log/api.log 2>> /romba/log/error.log",
    "prod_win": "set NODE_ENV=production && node ./bin/www >> /romba/log/api.log 2>> /romba/log/error.log"
    "prod_nix": "NODE_ENV=production node ./bin/www >> /romba/log/api.log 2>> /romba/log/_error.log"
  },...

要启动其中一个脚本,请使用以下命令:

 npm run-script prod_win

在 JavaScript 代码中,我检查条件:

process.env.NODE_ENV.indexOf('production') > -1
于 2018-11-07T10:41:14.747 回答
0

为了从 cmd 开始,您可以尝试

NODE_ENV=development node yourappname.js

如果您在安装了 forever的服务器中执行此操作,您可以提及环境变量,例如

NODE_ENV=development forever start yourappname.js
于 2018-04-23T10:03:48.023 回答