电子生成器-如何为生产Windows可执行文件build

时间:2019-12-09 15:13:57

标签: angular electron electron-builder

我很高兴地创建了一个角度应用程序,并通过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 个答案:

答案 0 :(得分:0)

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/*"
  ],