我目前正在与Electron 9.0.4和Electron-Builder 22.8.0合作一个项目,面临着一个似乎不太困难的问题,但在线上没有有效的解决方案!(至少我找不到它)
我有我的主程序来完成所有的UI任务,还有一个命令行脚本来做一些后端工作。我使用这个命令行脚本的原因是,我可以在不打开窗口本身的情况下运行应用程序的某些部分。在我的电脑上一切正常。在运行npm link之后,我的CL脚本被添加到我的环境变量中,我可以直接从控制台运行它。但是,当我尝试使用electron-builder构建时,出现了问题。
如果我在另一台计算机上使用Setup.exe,命令行脚本将不会添加到环境变量中,并且在electron、nodejs或electron-builder文档中找不到有关如何执行此操作的说明。我找到的是关于将npm -g install添加为安装后脚本的另一个问题的建议,但这也没有效果。
其他人建议添加npm link作为安装后脚本,但如果我没有弄错的话,首先这个函数不是用于生产的,其次它创建了一个无限循环,因为npm link一次又一次地触发安装后脚本。
这就是如何将脚本添加到项目中
"bin": {
"command-name": "/cl.js"
}如有任何帮助,我们不胜感激!
发布于 2020-09-03 07:32:28
因为我找不到一个直接的解决方案来解决我的问题,并且不想在采取不同方法的同时进一步寻找解决方案。
我决定后退一步,寻找另一种方法来解决我的问题。我得出的结论是,我真的不需要在命令行中添加脚本。我的解决方案是在启动常规应用程序时查找某个参数。
if (process.argv.includes("cli")) { /* Do commandline stuff */ }找到自定义参数后,我只需运行本应从命令行运行的脚本。使用这种方法,您可以创建一个包含自定义参数的可执行文件的快捷方式,然后它运行命令行脚本,而不是运行应用程序。
https://stackoverflow.com/questions/63589193
复制相似问题