nau*_*boy 6 installation desktop-application package node.js electron
总体而言,我仍然对电子生态系统和桌面开发还不陌生,但是我想做的是与软件捆绑在一起的第三方开源应用程序进行交互。首先,我不确定要分发的软件包选项应该是什么。习惯上有两次下载,一次是针对已经安装了第三方二进制文件的用户,另一次是包含该二进制文件的用户?另外,我该如何实际打包和安装二进制文件?这应该是我package.json上的一个选项吗?我应该执行哪种脚本?是否有任何npm模块可简化此操作?
编辑 -是否可以从我的main.js中调用npm,即使用户先前未安装节点也是如此?我知道节点与电子封装捆绑在一起,但是npm也是吗?
-在这种情况下,二进制文件是PostgreSQL
我想到了几个选择。
将第 3 方安装程序与您的应用程序捆绑在一起。这就是我最近所做的。第一次运行时,我检查我需要的服务是否已安装/正在运行,如果没有,我会调用第 3 方安装程序/启动它。当安装程序退出时,我只需app.relaunch()开始使用它。当然,您需要为您计划支持的每个平台提供安装程序。您必须找出方法来检查每个平台是否(正确)安装了软件。
将二进制文件与您的应用程序捆绑在一起。当然,您可以将几乎任何东西与您的电子应用程序捆绑在一起。同样,您计划支持的每个平台都需要二进制文件。当然,它们不应该链接到默认用户的计算机上没有的任何内容,例如 SDK 和附加标头......
不太舒服,但您始终可以添加一些启动消息或下载前消息,告诉用户他需要软件 xy 才能运行您的应用程序。
1/2 的导数:按需下载所需内容。对于您的示例,这意味着检查用户的操作系统和架构,然后仅下载所需的安装程序或二进制文件(如果可用)。您也可以在用户的计算机上构建这些内容,尽管这可能是最糟糕/最大/最复杂的解决方案。
然后还有像https://www.npmjs.com/package/pg这样的东西- 如果有人已经构建了你需要的东西,你应该始终检查 npm ;)
我建议使用出色的电子构建器,它使将东西与您的应用程序捆绑在一起变得轻而易举。
如果您需要更多信息,请随时发表评论。
| 归档时间: |
|
| 查看次数: |
2083 次 |
| 最近记录: |