suchen

Heim  >  Fragen und Antworten  >  Hauptteil

So verwenden Sie den Knoten NODE_EN – Stapelüberlauf

Frage 1: In der Projektdatei json.package steht NODE_ENV=development. Bedeutet dies, dass durch die Ausführung von npm run dev die Knotenumgebung festgelegt und zur Entwicklungsumgebung gewechselt wird?

Frage 2: Was ist also der Unterschied zwischen Schreiben NODE_ENV=development und Nichtschreiben

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

Frage 3: Wenn ich npm start ausführe, warum funktioniert es dann nicht normal?

$ 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.
代言代言2709 Tage vor1074

Antworte allen(2)Ich werde antworten

  • 天蓬老师

    天蓬老师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 这个包来辅助设入环境变量。

    Antwort
    0
  • 淡淡烟草味

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

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

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

    Antwort
    0
  • StornierenAntwort