我很高兴地创建了一个 Angular 应用程序,并通过loadURL
将其加载到Electron中。
问题是当我为生产exe文件electron-builder build --windows
构建时
比我得到的__dirname = C:\Users\andrewa\AppData\Local\Temp\1UkY0hucKiKzfrpthFH75bMaiLx\resources\app.asar
加载index.html
的正确方法是什么?
我应该在electron-builder.json中使用"asar": false
还是有办法加载该资源?
function createWindow() {
win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
}
});
win.loadURL(
url.format({
pathname: path.join(__dirname, `dist/index.html`), <----------- key line
protocol: "file:",
slashes: true
}),
);
}
electronic-builder.json
...
"win": {
"icon": "dist/app/assets/icons",
"target": ["portable"]
},
最佳答案
该Electron Application Packaging提供了有关asar文件类型的详细信息。
要查看app.asar文件中的内容,可以运行以下命令npx asar list /path/to/app.asar
特定于我的情况,我在http服务器的 Electron 外部工作,因此我需要在electron-builder.json内部包含以下内容,这导致它们位于resources/app.asar.unpacked/
文件夹内,与app.asar
文件位于同一文件夹。
"asarUnpack": [
"**/dist/procurement-app/*",
"http/*.js",
"node_modules/mime/*",
"node_modules/mime-types/*",
"node_modules/mime-db/*"
],
关于angular - Electron 生成器-如何为生产Windows可执行文件生成URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59251731/