angular - Electron 生成器-如何为生产Windows可执行文件生成URL

标签 angular electron electron-builder

我很高兴地创建了一个 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/

相关文章:

angular - 我如何在 Angular 中重复使用 i18n 翻译键?

node.js - 在 Mac OS 上使用带有 Electron 的 sqlite3 的问题

Electron 封装器 : cannot find module

Electron 生成器应用程序大小太大

angular - 如何在 Angular 2/4 中创建通用控件?

IE(9+) 中的 Angular 2+ 问题

macos - 对框架进行代码签名失败,出现 "Permission denied"错误

javascript - 命令失败 : java -jar

javascript - Angular CLI 7 : Sass failed to compile

node.js - 如何使用 Node 模块从 Electron 应用程序获取空闲时间?