我通过应用程序根文件夹中的电子成功运行了我的 Angular 2 应用程序。dist
我通过运行将应用程序构建到文件夹中:
ng build --env=prod
然后我就跑:
electron electron.conf.js
我在哪里electron.conf.js
运行本地网络服务器来提供文件dist
connect().use(serveStatic(__dirname + '/dist')).listen(8997, function(){
console.log('Webserver for electron is running on port 8997...');
});
mainWindow.loadURL('http://localhost:8997');
我需要这种方法,因为我使用不会从file:///
协议初始化的 gapi.js 和需要http(s)
。
这很好用,但是当我将电子应用程序打包为 Windows .exe 文件时,我很难成功启动它。当我按以下方式制作 exe 包时(来自应用程序根目录):
electron-packager . MyAppName --platform=win32 --arch=x64
然后启动 MyApp.exe,它失败了:
Cannot find module MyApp/resources/app/index.js
似乎通过 electron-packager 运行的电子正在尝试通过默认file://
协议为应用程序提供服务(而所有文件实际上都在MyApp/resources/app/dist/index.js
并且应该通过 http 提供服务)。
我如何告诉电子包装器使用我的electron.conf.js
哪个将启动我的本地网络服务器?