在 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"
您可以在 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"