我们正在使用电子包装机捆绑并分发我们的 Web 应用程序的前端。我们需要能够通过host
and port
服务器到电子前端进行连接。当我们通过以下方式启动时electron main.js --host blah --port 8080
有用。打包后,我们通过./MyApp --host blah --port 8080
但它不起作用。这很糟糕,因为我们不希望客户需要安装 Electron/npm 本身。另外值得注意的是,无论我们将应用程序打包在asar
是否存档。
关于我们可以尝试的事情有什么想法,或者我们是否试图以错误的方式解决这个问题?
那么你如何尝试解析命令行?什么是process.argv
看起来像当你开始时./MyApp --host blah --port 8080
?
基本上,当你启动 Electron 时它在其资源文件夹中查找对于“app”、“app.asar”或“default_app”;当你启动你的应用程序时electron main.js --host blah --port
实际发生的是 Electron 的默认应用程序启动,其中包括:解析你的命令行参数。当您打包应用程序时,它会以“app”或“app.asar”的形式复制到资源文件夹中,并在运行时直接启动MyApp
稍后的。也就是说,您以两种根本不同的方式启动应用程序,这可能是问题的根源。
为了缓解这个问题,我喜欢做的就是在开发过程中将我的开发文件夹链接到 Electron 的资源文件夹中;这样我就可以绕过“default_app”并具有相同的执行路径,无论应用程序是否打包。
话虽如此,无论您以哪种方式启动应用程序,您都应该能够解析命令行参数。以供参考,我刚刚设置了这个在我的一个带有 yargs 的应用程序中,所以你绝对应该能够让它工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)