Electron builder - 如何为生产 windows 可执行构建加载 URL

Electron builder - how to loadURL for production windows executable build

我很高兴地创建了一个 angular 应用程序,并通过 loadURL 将其加载到 Electron 中。

问题是当我为生产 exe 文件构建时 electron-builder build --windows 比我得到的

__dirname = C:\Users\andrewa\AppData\Local\TempUkY0hucKiKzfrpthFH75bMaiLx\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
      }),
    );
}

电子-builder.json

  ...
  "win": {
    "icon": "dist/app/assets/icons",
    "target": ["portable"]
  },

Electron Application Packaging 提供了有关 asar 文件类型的详细信息。

要查看 app.asar 文件中的内容,您可以 运行 以下
npx asar list /path/to/app.asar

针对我的情况,我在 electron 之外为 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/*"
  ],