DTI*_*att 6 javascript node.js atom-editor electron yargs
我们正在使用电子包装器来捆绑和分发我们的 Web 应用程序的前端。我们需要能够将服务器的host和传递port到电子前端进行连接。当我们通过electron main.js --host blah --port 8080它启动时。打包后,我们运行通过./MyApp --host blah --port 8080,它不起作用。这很糟糕,因为我们不希望客户需要自己安装电子/npm。另外值得注意的是,无论我们是否将应用程序打包到asar存档中,都会发生这种情况。
关于我们可以尝试的任何想法,或者我们是否试图以错误的方式解决这个问题?
那么你如何尝试解析命令行?process.argv当你开始时会是什么样子./MyApp --host blah --port 8080?
基本上,当你启动 Electron 时,它会在其资源文件夹中查找“app”、“app.asar”或“default_app”;当您启动应用程序时,electron main.js --host blah --port实际发生的情况是 Electron 的默认应用程序已启动,其中包括解析您的命令行参数。MyApp当您打包应用程序时,它会以“app”或“app.asar”的形式复制到资源文件夹中,并在稍后运行时直接启动。也就是说,您以两种根本不同的方式启动应用程序,这可能是问题的根源。
为了缓解这个问题,我喜欢做的就是在开发过程中将我的开发文件夹链接到 Electron 的资源文件夹中;这样我就可以绕过“default_app”并具有相同的执行路径,无论应用程序是否打包。
话虽如此,无论您以哪种方式启动应用程序,您都应该能够解析命令行参数。作为参考,我只是在我的一个应用程序中使用 yargs 设置了它,所以你绝对应该能够让它工作。
| 归档时间: |
|
| 查看次数: |
7120 次 |
| 最近记录: |