【发布时间】:2021-07-06 12:32:07
【问题描述】:
我在本地运行时需要在开发者模式下运行一个电子应用程序,在构建应用程序时需要在生产模式下运行,并且我需要在应用程序期间读取此环境变量。
我正在使用22.8.0版本的electron-builder来构建应用程序,而electron是10.0.0版本的。
谢谢:)
【问题讨论】:
我在本地运行时需要在开发者模式下运行一个电子应用程序,在构建应用程序时需要在生产模式下运行,并且我需要在应用程序期间读取此环境变量。
我正在使用22.8.0版本的electron-builder来构建应用程序,而electron是10.0.0版本的。
谢谢:)
【问题讨论】:
如果我理解您的问题,这是我在开发时用来运行 electron-reload 的内容。我认为现在还有其他可能更好的方法来做到这一点,但几年来对我来说效果很好。
在start 脚本中定义一个变量:
"scripts": {
"start": "APP_DEV=true electron .",
},
然后在main.js阅读:
var isDev = process.env.APP_DEV ? (process.env.APP_DEV.trim() == 'true') : false;
if (isDev) {
require('electron-reload')(__dirname);
}
【讨论】:
Process 的了解还不够,无法猜测它为什么不适合你——我让它工作是为了使用 electron-reload,然后继续写更多错误 ;-) 有很多文章等:duckduckgo.com/?t=ffcm&q=process.env&ia=web – “change-the-var-in-js-file”方法很脆弱,因为它很容易忘记去做(从经验中说......)跨度>
"start": "set APP_DEV=true && electron ."