gpt4 book ai didi

javascript - 在 Electron Forge 配置中区分 make 和 package

转载 作者:行者123 更新时间:2023-12-03 12:27:19 28 4
gpt4 key购买 nike

我有一个设置了许多选项的 Electron Forge 配置文件,并且所有这些都可以自动和精美地工作(感谢 Forge 团队!!)。但是我发现在某些情况下我可能想要处理一个空的 npm run package不同于完整的npm run make (据我了解,它运行 package 脚本作为其进程的一部分)。有没有办法以编程方式检测 package操作直接从命令行运行,而不是作为 make 的一部分。过程,以便我可以调用不同的 Forge 配置选项?例如,有时我只想快速构建本地测试并跳过某些不必要的耗时步骤,例如在 macOS 上进行公证和一些 prePackage/postPackage钩子(Hook)函数。理想情况下,我正在寻找一种在我的 Forge 配置文件中执行此类操作的方法:

//const isMake = ???
module.exports = {
packagerConfig: {
osxNotarize: isMake ? {appleId: "...", appleIdPassword: "..."} : undefined
},
hooks: {
prePackage: isMake ? someFunction : differentFunction
}
}

最佳答案

您可以通过 process.argv[1] 进行操作:

let isMake;
if (process.argv[1].endsWith('electron-forge-make.js') {
isMake = true;
} else {
isMake = false;
}
module.exports = {
// ...
}
调用 process.argv时,它返回一个包含两个字符串的数组:第一个带有 node.js 目录,第二个带有 electron forge 模块目录。
make 模块以 electron-forge-make.js 结尾并且包模块以 electron-forge-package.js 结尾.因此,您可以查看它的末尾并确定它是 package 还是制造。

关于javascript - 在 Electron Forge 配置中区分 make 和 package,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64841755/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com