我通常在 macOS 上进行开发,但我已将项目转移到 Windows 10,以便解决一些特定于 Windows 的问题。当发生更改时,我使用 Electron-reload 重新加载应用程序。它在 macOS 上运行得很好,但在 Windows 上就崩溃了。
使用下面的设置和 npm start
启动应用程序,在 Windows 上会抛出错误:“'APP__DEV' 未被识别为内部或外部命令”
我这样做是不是错了,macOS 只是更“宽容”?我看到这个问题:Setting process.env var in package.json并且接受的答案看起来与我正在做的相同,所以我很困惑。
在我跳入兔子洞之前,我想我应该问一下我正在做的事情是否存在一些简单的错误。
如果重要的话 – 在将项目移动到 Windows 时,我没有进行任何 CTLF 转换等 – 我只是使用 DropBox
复制它。
package.json
"start": "APP_DEV=true electron .",
<小时/>
Main.js
let isDev = process.env.APP_DEV ? (process.env.APP_DEV.trim() == "true") : false;
if (isDev) {
require('electron-reload')(__dirname);
}
最佳答案
语法ENV_VAR=值程序参数
是UNIX的东西。 Windows 不提供设置环境变量并在同一命令中运行程序的方法,但是,这通常可以工作:set ENV_VAR=value && 程序参数
(因此,在您的情况下:set APP_DEV=true && electro .
就是您要寻找的)。作为建议,请查看 dotenv和/或cross-os使您的项目在所有系统上都更可用(在这方面),而不会带来太多麻烦。
关于javascript - 在 package.json 中设置环境变量以与 electro-reload 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60659194/