Angularjs 如何告诉Electron packager使用我的自定义Electron配置文件?

Angularjs 如何告诉Electron packager使用我的自定义Electron配置文件?,angularjs,electron,electron-packager,Angularjs,Electron,Electron Packager,我从应用程序根文件夹通过electron成功运行Angular 2应用程序。我通过运行以下命令将应用程序构建到dist文件夹中: ng build --env=prod 然后我就跑: electron electron.conf.js 其中,在electron.conf.js中,我运行本地Web服务器来提供来自dist connect().use(serveStatic(__dirname + '/dist')).listen(8997, function(){ console.lo

我从应用程序根文件夹通过electron成功运行Angular 2应用程序。我通过运行以下命令将应用程序构建到
dist
文件夹中:

ng build --env=prod
然后我就跑:

electron electron.conf.js
其中,在
electron.conf.js
中,我运行本地Web服务器来提供来自
dist

connect().use(serveStatic(__dirname + '/dist')).listen(8997, function(){
    console.log('Webserver for electron is running on port 8997...');
});
mainWindow.loadURL('http://localhost:8997');
我需要这种方法,因为我使用gapi.js,它不会从
文件://
协议初始化,需要
http(s)

这很好,但当我将electron应用程序打包为Windows.exe文件时,我很难成功启动它。当我按照以下方式制作exe包时(从应用程序根目录):

然后启动MyApp.exe,失败原因如下:

Cannot find module MyApp/resources/app/index.js
似乎通过electron packager运行的electron正在尝试通过默认的
文件://
协议为应用程序提供服务(而所有文件实际上都在
MyApp/resources/app/dist/index.js中,应该通过http提供)


我如何告诉electron packager使用我的
electron.conf.js
,它将启动我的本地Web服务器?

因此,整个技巧是将
index.js
文件添加到根项目目录中,
index.js
将包含electron app conf,例如:

const electron = require('electron')
var app = electron.app;
app.on('ready', function () {
    mainWindow = new BrowserWindow({ width: 1200, height: 900 });
    mainWindow.loadURL('my-url-here');
})

将应用程序与electron packager绑定后,此
index.js
复制到
resources/app/index.js
,并在启动.exe时用作电子加载配置。

因此,整个技巧是将
index.js
文件添加到根项目目录中,
index.js
将包含electron app配置,例如:

const electron = require('electron')
var app = electron.app;
app.on('ready', function () {
    mainWindow = new BrowserWindow({ width: 1200, height: 900 });
    mainWindow.loadURL('my-url-here');
})
将应用程序与electron packager绑定后,此
index.js
将复制到
resources/app/index.js
,并在启动.exe时用作电子加载配置