首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Electron-builder创建带有assets文件夹的电子应用

如何用Electron-builder创建带有assets文件夹的电子应用
EN

Stack Overflow用户
提问于 2019-05-18 19:33:18
回答 2查看 1.9K关注 0票数 1

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

我想在生产的media文件夹中有视频。我如何才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-26 02:43:08

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

您能做的最好的事情就是使用extraResources指令添加您想要保存在asar文件之外的资源:

代码语言:javascript
复制
"build": {
    "extraResources": [
        {
            "from": "../media",
            "to": "media",
            "filter": [
                "**/*",
                "!*.mp3",
            ]
        }
    ],

    "asar": false,


}
票数 2
EN

Stack Overflow用户

发布于 2020-08-24 01:35:56

被接受的答案对我不起作用。真正起作用的是指定我想要在构建后访问其内容的目录,其格式与为files配置指定的格式相同。

E-builder.json:

代码语言:javascript
复制
{
...
"extraResources": [
  "src/assets/my-assets/*"
],
...
}

构建完成后,您将在资源下与asar文件(.../app/ resources /src/assets/my-assets)相同的位置找到您的文件夹。不需要指定asar: false

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

代码语言:javascript
复制
// Removing 8 characters to remove "app.asar"
let strippedPath = __dirname.substring(0, __dirname.length - 8);
let execPath = '\"' + strippedPath + 'src\\assets\\my-assets' + '\"';

现在,可以将需要从assets文件夹执行的任何内容附加到execPath

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56198535

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档