在 package.json 中设置环境变量以用于电子重载?
Setting an env var in package.json for use with electron-reload?
我通常在 macOS 上开发,但我已将项目移至 Windows 10,以便处理一些 Windows 特定问题。进行更改时,我使用 electron-reload
重新加载应用程序。它在 macOS 上运行良好,但在 Windows.
上出现故障
使用下面的设置和 npm start
启动应用程序,在 Windows 上它抛出错误:"'APP__DEV' is not recognized as an internal or external command"
我做错了吗,macOS 更 "forgiving"?我看到了这个问题: 并且接受的答案看起来和我正在做的一样,所以我很困惑。
在我跳下兔子洞之前,我想我会问我正在做的事情是否有什么简单的错误。
如果重要的话——我在将项目移动到 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);
}
您是否尝试过将参数移动到 electron 命令 ("electron") 和 src 位置 (".") 之后?
APP_DEV 不存在:
"start": "APP_DEV=true electron ."
APP_DEV 确实存在:
"start": "electron . APP_DEV=true"
编辑:
上述方法不能作为环境变量检索,而是作为过程参数检索。不确定这是否能够解决您的问题。
string[] argument = process.argv;
语法 ENV_VAR=value program arguments
是 UNIX 的东西。 Windows 不提供在同一命令中设置环境变量和 运行 程序的方法,但是,这通常会起作用:set ENV_VAR=value && program arguments
(因此,在您的情况下:set APP_DEV=true && electron .
就是你要找的)。作为建议,请查看 dotenv and/or cross-os 以使您的项目在所有系统上更有用(在这方面)而不会让人头疼。
我通常在 macOS 上开发,但我已将项目移至 Windows 10,以便处理一些 Windows 特定问题。进行更改时,我使用 electron-reload
重新加载应用程序。它在 macOS 上运行良好,但在 Windows.
使用下面的设置和 npm start
启动应用程序,在 Windows 上它抛出错误:"'APP__DEV' is not recognized as an internal or external command"
我做错了吗,macOS 更 "forgiving"?我看到了这个问题:
在我跳下兔子洞之前,我想我会问我正在做的事情是否有什么简单的错误。
如果重要的话——我在将项目移动到 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);
}
您是否尝试过将参数移动到 electron 命令 ("electron") 和 src 位置 (".") 之后?
APP_DEV 不存在:
"start": "APP_DEV=true electron ."
APP_DEV 确实存在:
"start": "electron . APP_DEV=true"
编辑:
上述方法不能作为环境变量检索,而是作为过程参数检索。不确定这是否能够解决您的问题。
string[] argument = process.argv;
语法 ENV_VAR=value program arguments
是 UNIX 的东西。 Windows 不提供在同一命令中设置环境变量和 运行 程序的方法,但是,这通常会起作用:set ENV_VAR=value && program arguments
(因此,在您的情况下:set APP_DEV=true && electron .
就是你要找的)。作为建议,请查看 dotenv and/or cross-os 以使您的项目在所有系统上更有用(在这方面)而不会让人头疼。