node的NODE_EN如何使用

问题1:项目json.package文件内有NODE_ENV=development,是表示执行npm run dev就设置node环境切换为开发环境?

问题2:那么写NODE_ENV=development与不写有啥不同

  "scripts": {
    "compile": "NODE_ENV=production webpack",
    "start": "npm run dev",
    "dev": "NODE_ENV=development node --harmony bin/webpack-dev-server",
  },

问题3:当我执行npm start,出现这个无法正常运行是为什么?

$ npm start

> react-redux-jwt-auth-example@0.1.0 start C:\Users\Administrator\Desktop\react-redux-jwt-auth-example
> npm run dev


> react-redux-jwt-auth-example@0.1.0 dev C:\Users\Administrator\Desktop\react-redux-jwt-auth-example
> NODE_ENV=development node --harmony bin/webpack-dev-server

'NODE_ENV' ▒▒▒▒▒ڲ▒▒▒▒ⲿ▒▒▒Ҳ▒▒▒ǿ▒▒▒▒еij▒▒▒
▒▒▒▒▒▒▒▒▒ļ▒▒▒

npm ERR! Windows_NT 6.1.7601
npm ERR! argv "D:\\Program Files\\nodejs\\node.exe" "D:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "dev"
npm ERR! node v7.2.0
npm ERR! npm  v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! react-redux-jwt-auth-example@0.1.0 dev: `NODE_ENV=development node --harmony bin/webpack-dev-server`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the react-redux-jwt-auth-example@0.1.0 dev script 'NODE_ENV=development node --harmony bin/webpack-dev-server'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the react-redux-jwt-auth-example package,
npm ERR! not with npm itself.
阅读 7.1k
2 个回答
  1. npm run dev 是【约定俗成】的开发环境语句,一般习惯是在这条语句内设置 NODE_ENV 环境变量。这不是必须的,但是大家都这么做…

  2. 如果不写,那么你就起的开发环境就没有设置入 NODE_ENV 这个变量。在 Vue 和 React 内部会检查这个环境变量,如在 React 中,当 NODE_ENV 为 development 时会额外打开类型检查来方便开发。Vue 中这个环境变量也会影响 Vuex 等插件内部时间旅行一类的功能。

  3. Windows 下环境变量有坑,可能需要 cross-env 这个包来辅助设入环境变量。

写了NODE_ENV=development就可以在程序中通过以下代码来判断是在哪种环境:

if (process.env.NODE_ENV === 'development') {
    // 开发环境
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题