如何使用开发标志启动节点应用程序?

时间:2013-10-21 20:03:10

标签: node.js

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

NODE_ENV='development';

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

5 个答案:

答案 0 :(得分:25)

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

NODE_ENV=development node app.js

但是,如果您真的想要设置它的app文件,请将其设置为:

process.env.NODE_ENV= "development"

答案 1 :(得分:5)

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

但是,开发是默认的;如果你想要刺激,你只需要做任何事情。

答案 2 :(得分:4)

如果您想在 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

答案 3 :(得分:0)

要从cmd开始,您可以尝试

NODE_ENV=development node yourappname.js

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

NODE_ENV=development forever start yourappname.js

答案 4 :(得分:0)

通过使用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