什么是在单个构build中打包跨平台电子应用程序的一些机制?

我正在开发基于Electron的桌面应用程序,并使用electron-packager来创build可执行文件。 该应用程序使用一些二进制节点模块,如bcrypt

在我的Mac上,我打包的应用程序,针对OSX和Windows。 生成的包在OSX上运行良好。 但是,当我在Windows 8.1 64位上运行生成的Windows包(.exe和依赖关系)时,该应用程序会引发错误(相当可观):

在这里输入图像描述

是否有任何实践或工具可以帮助我在任何操作系统中执行一次打包,即使应用依赖于二进制模块,并为Windows,OSX和Linux生成可执行文件? 例如,我想在OSX上运行这个版本来生成所有三个操作系统的可执行文件,而不必为每个平台重复打包

如果可能,您应该考虑从您的项目中删除原生的二进制需求。 例如,你提到的模块bcrypt有另一个完整的JS实现,不需要本地的二进制文件: https : //www.npmjs.com/package/bcrypt-nodejs

如果你确实需要将编译的二进制文件作为你的依赖项的一部分,那么你可能不得不自己devise构build/打包自动化的那一部分。