当我设置" NODE_ENV = production"时,错误是什么,如何为节点脚本命令设置环境变量?

时间:2018-01-24 03:57:02

标签: node.js environment-variables production-environment

我使用webpack 3.1.0,节点9.2.0,windows 10的命令行。

在package.json上运行脚本时出错。

"scripts": {
"build": "NODE_ENV=production webpack --progress --colors -p",
...
}

我得到如下错误。

13 verbose stack Error: wow_dns@1.0.0 build: `NODE_ENV=production webpack --progress --colors -p`
13 verbose stack Exit status 1
13 verbose stack     at EventEmitter.<anonymous> (C:\Users\sheng\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:285:16)
13 verbose stack     at EventEmitter.emit (events.js:159:13)
13 verbose stack     at ChildProcess.<anonymous> (C:\Users\sheng\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
13 verbose stack     at ChildProcess.emit (events.js:159:13)
13 verbose stack     at maybeClose (internal/child_process.js:943:16)
13 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:220:5)
14 verbose pkgid wow_dns@1.0.0
15 verbose cwd F:\wow\wow_dns
16 verbose Windows_NT 10.0.16299
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\sheng\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"

但如果我删除&#34; NODE_ENV =生产&#34;它将会运行。像:

"scripts": {
"build": "webpack --progress --colors -p",
...
}

它会起作用。 如何在生产环境中设置运行环境?

2 个答案:

答案 0 :(得分:0)

在Windows中,使用&连接两个命令,例如:

"scripts": {
  "test": "echo \"Error: no test specified\" && exit 1",
  "serve": "SET NODE_ENV=development& webpack serve --progress --color",
  "build": "SET NODE_ENV=production& webpack --progress --color",
  "serve-old": "webpack-dev-server --watch"
},

答案 1 :(得分:-1)

请更改

"build": "NODE_ENV=production webpack --progress --colors -p"

"build": "set NODE_ENV=production;webpack --progress --colors -p"

"build": "NODE_ENV=production;webpack --progress --colors -p"

问题是,一旦你完成一个命令,你需要用分号来表示命令结束。