首页  >  问答  >  正文

javascript - 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.
代言代言2663 天前1032

全部回复(2)我来回复

  • 天蓬老师

    天蓬老师2017-07-05 11:07:37

    1. npm run dev 是【约定俗成】的开发环境语句,一般习惯是在这条语句内设置 NODE_ENV 环境变量。这不是必须的,但是大家都这么做…

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

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

    回复
    0
  • 淡淡烟草味

    淡淡烟草味2017-07-05 11:07:37

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

    if (process.env.NODE_ENV === 'development') {
        // 开发环境
    }

    回复
    0
  • 取消回复