Electron builder - 如何为生产 Windows 可执行文件构建 loadURL
Posted
技术标签:
【中文标题】Electron builder - 如何为生产 Windows 可执行文件构建 loadURL【英文标题】:Electron builder - how to loadURL for production windows executable build 【发布时间】:2020-04-02 17:23:56 【问题描述】:我很高兴地创建了一个 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
),
);
electron-builder.json
...
"win":
"icon": "dist/app/assets/icons",
"target": ["portable"]
,
【问题讨论】:
【参考方案1】:Electron Application Packaging 提供有关 asar 文件类型的详细信息。
要查看 app.asar 文件中的内容,您可以运行以下命令npx asar list /path/to/app.asar
具体到我的情况,我在电子之外为 http 服务器工作,所以我需要在 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/*"
],
【讨论】:
以上是关于Electron builder - 如何为生产 Windows 可执行文件构建 loadURL的主要内容,如果未能解决你的问题,请参考以下文章
electron-builder 生成 latest.json 而不是 latest.yml
如何为 Electron / Atom Shell App 设置应用程序图标