【问题标题】:How to build electron application with assets folder by Electron-builderElectron-builder 如何使用 assets 文件夹构建电子应用程序
【发布时间】:2019-10-05 12:02:16
【问题描述】:

我已经用电子生成器构建了一个应用程序。开发区media文件夹中有一个视频。但是当我构建应用程序时,我发现视频文件夹替换为 C://Programs 中资源文件夹中的 asar 文件。

我希望视频在生产中包含在 media 文件夹中。我该怎么做呢

【问题讨论】:

  • 不要在你的构建脚本中指定--asar

标签: electron electron-builder


【解决方案1】:

您可能想在package.json 文件中尝试使用asar: false。但是,这不是推荐的方法。

您可以做的最好的事情是使用extraResources 指令将要保留的资源添加到 asar 文件之外:

"build": {
    "extraResources": [
        {
            "from": "../media",
            "to": "media",
            "filter": [
                "**/*",
                "!*.mp3",
            ]
        }
    ],

    "asar": false,


}

【讨论】:

  • 老兄我整晚都在找!非常感谢,祝福你! ?
【解决方案2】:

接受的答案对我不起作用...起​​作用的是指定目录,我希望以与 files 配置指定的格式相同的格式在构建后访问其内容。

电子生成器.json:

{
...
"extraResources": [
  "src/assets/my-assets/*"
],
...
}

构建后,您将在资源下的 asar 文件 (.../app/resources/src/assets/my-assets) 找到您的文件夹。无需指定asar: false

在主进程上,如果你使用__dirname,它将以app.asar结束。可以使用以下方式访问资产:

// Removing 8 characters to remove "app.asar"
let strippedPath = __dirname.substring(0, __dirname.length - 8);
let execPath = '\"' + strippedPath + 'src\\assets\\my-assets' + '\"';

现在execPath 可以附加到资产文件夹中需要执行的任何内容。

【讨论】:

    猜你喜欢
    • 2020-01-22
    • 2017-03-04
    • 2019-12-14
    • 2017-11-17
    • 2018-06-29
    • 2016-08-20
    • 2021-01-05
    • 2020-07-20
    • 2019-06-12
    相关资源
    最近更新 更多