Windows下package.json脚本中设置环境变量

Ale*_*lan 4 javascript windows environment-variables node.js webpack

您可以使用“SET”命令在 Windows 中设置环境变量:

set NODE_ENV=production
Run Code Online (Sandbox Code Playgroud)

您可以在 package.json 文件中指定短脚本:

"scripts": {
    "buildDev": "set NODE_ENV=development && webpack",
    "buildProd": "set NODE_ENV=production && webpack",
}
Run Code Online (Sandbox Code Playgroud)

这些工作完美,除了一件事:NODE_ENVwebpack 开始执行我的配置文件时的值是"development "- 注意尾随空格。

这会阻止我的配置文件检测到正确的环境(通过process.env.NODE_ENV)并返回适当的配置。

Ale*_*lan 5

有趣的是,我设法通过删除空间来解决这个问题:

"buildDev": "set NODE_ENV=development&& webpack"
Run Code Online (Sandbox Code Playgroud)

这(至少对我而言)似乎是错误的。我预计这会导致语法错误和NODE_ENV值为development&&,但它工作得很好 - 尽管很丑陋。


Mar*_*oon 3

使用以下方法使其跨平台cross-env

"buildDev": "cross-env NODE_ENV=development webpack"