gpt4 book ai didi

node.js - 同时不修改 NODE_ENV 变量

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:51 25 4
gpt4 key购买 nike

所以我正在使用 webpack 开发一个项目,并想在我的 package.json 上创建一个脚本来从那里运行开发和生产模式。我是 Windows 用户并且总是使用 Concurrently同时运行多个终端任务。

我像这样设置我的 package.json 脚本:

"scripts": {
"start": "concurrently \"set NODE_ENV=\" \"webpack --watch\"",
"build": "concurrently \"set NODE_ENV=production\" \"webpack\""
},

终端中的输出是:

set NODE_ENV= exited with code 0
Webpack is watching the files…
...

所以基本上 webpack 工作正常,但变量没有被创建/删除。两个命令都失败。

如果我直接运行

set NODE_ENV=production

它有效,所以我有点困惑......

有什么想法吗?

非常感谢!

最佳答案

更改:

"start": "concurrently \"set NODE_ENV=\" \"webpack --watch\"",
"build": "concurrently \"set NODE_ENV=production\" \"webpack\""

至:

"start": "NODE_ENV= webpack --watch",
"build": "NODE_ENV=production webpack"

您不能在一个进程中更改环境并期望在并行启动的另一进程中更改环境。您只能更改子进程的环境,并且只能在其启动时更改。子进程总是从父进程继承环境。

如果上述方法在 Windows 上不起作用,则使用 cross-env:

npm install --save-dev cross-env

并在 package.json 中使用:

"start": "cross-env NODE_ENV= webpack --watch",
"build": "cross-env NODE_ENV=production webpack"

关于node.js - 同时不修改 NODE_ENV 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43587247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com