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

Setting environment variables in package.json scripts under Windows

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

set NODE_ENV=production

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

"scripts": {
    "buildDev": "set NODE_ENV=development && webpack",
    "buildProd": "set NODE_ENV=production && webpack",
}

除了一件事外这些工作完美:当 webpack 开始执行我的配置文件时 NODE_ENV 的值是 "development " - 注意尾随 space.

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

我设法通过删除 space:

来解决这个问题,很有趣
"buildDev": "set NODE_ENV=development&& webpack"

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

使用 cross-env 使其跨平台:

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