设置 NODE_ENV=development无效

nodejs中在命令行设置

export NODE_ENV=development

或者使用如下方式启动

NODE_ENV=development node server.js

均无效,在代码中打印

console.log(process.env.NODE_ENV);

为undefined

阅读 17.5k
4 个回答

通过NODE_ENV可以来设置环境变量(默认值为development)。 一般我们通过检查这个值来分别对开发环境和生产环境下做不同的处理。可以在命令行中通过下面的方式设置这个值:

linux & mac:

 export NODE_ENV=production

windows:

set NODE_ENV=production

比方说如果代码中要对生产环境下做一些处理,可以这样写:

if (process.env.NODE_ENV === 'production') {
 // just for production code
}

我用的 windows 所以这样就可以了

set NODE_ENV=dev
npm install --save-dev cross-env

"scripts": {
  "dev": "cross-env NODE_ENV=development webpack-dev-server --progress --colors --devtool cheap-module-eval-source-map --hot --inline",
  "build": "cross-env NODE_ENV=production webpack --progress --colors --devtool cheap-module-source-map",
  "build:dll": "webpack --config webpack.dll.config.js"
}

请问你使用的是什么系统?我觉得这个和nodejs本身没有关系。

如果你是用是windows,简单的说一下我的想法,仅供参考:

  • 如果你想设置环境变量,可以直接在程序的开始部分(server.js文件)写入:

process.env.NODE_ENV = 'development';
  • 如果windows系统,在cmd命令行下,请使用试一试:

set NODE_ENV=development

node server.js
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进