【问题标题】:Adding a command line script to the user environment whilst installing an application using electron-builder在使用 electron-builder 安装应用程序时向用户环境添加命令行脚本
【发布时间】:2020-12-14 18:08:12
【问题描述】:

我目前正在与Electron 9.0.4Electron-Builder 22.8.0 合作开展一个项目,我面临一个看起来不太难但在线没有有效解决方案的问题! (至少我找不到)

我有一个执行所有 UI 任务的主程序,以及一个执行某些后端的命令行脚本。我有这个命令行脚本的原因是我可以在不打开窗口本身的情况下运行应用程序的某些部分。在我的电脑上一切正常。运行npm link 后,我的 CL 脚本被添加到我的环境变量中,我可以从控制台运行它。但是,当我尝试使用electron-builder 构建时,就会出现问题。

如果我在另一台计算机上使用我的Setup.exe,命令行脚本将不会添加到环境变量中,我在electronnodejs 中找不到有关如何执行此操作的说明,或electron-builder 文档。我发现的是关于另一个问题的建议,将npm -g install 添加为安装后脚本,但这也没有效果。

其他人建议将npm link 添加为安装后脚本,但首先,如果我没记错的话,此功能不适用于生产,其次它创建了一个无限循环,因为npm link 触发了安装后脚本,然后重新来过。

这就是将脚本添加到项目中的方式

"bin": {
    "command-name": "/cl.js"
  }

感谢任何帮助!

【问题讨论】:

    标签: node.js command-line electron electron-builder


    【解决方案1】:

    因为我无法找到解决问题的直接方法,并且不想在能够采取不同方法的同时进一步寻找解决方案。

    我决定退后一步,寻找另一种方法来解决我的问题。我得出的结论是,我真的不需要在命令行中添加脚本。我的解决方案是在启动常规应用程序时寻找某个参数。

    if (process.argv.includes("cli")) {  /* Do commandline stuff */ }
    

    找到自定义参数后,我只需运行本应从命令行运行的脚本。使用这种方法,您可以创建包含自定义参数的可执行文件的快捷方式,然后运行命令行脚本而不是应用程序。

    【讨论】:

      猜你喜欢
      • 2019-03-28
      • 2018-08-22
      • 2016-07-23
      • 2014-04-06
      • 2017-01-29
      • 2010-09-08
      • 2020-05-26
      • 1970-01-01
      • 2010-10-03
      相关资源
      最近更新 更多