我已经用电子生成器构建了一个应用程序。在开发区的media文件夹中有一段视频。但是当我构建应用程序时,我发现视频文件夹被C://Programs中的一个资源文件夹中的asar文件所取代。
我想在生产的media文件夹中有视频。我如何才能做到这一点?
发布于 2019-06-26 02:43:08
您可能希望在package.json文件中尝试使用asar: false。但是,这不是推荐的方法。
您能做的最好的事情就是使用extraResources指令添加您想要保存在asar文件之外的资源:
"build": {
"extraResources": [
{
"from": "../media",
"to": "media",
"filter": [
"**/*",
"!*.mp3",
]
}
],
"asar": false,
}发布于 2020-08-24 01:35:56
被接受的答案对我不起作用。真正起作用的是指定我想要在构建后访问其内容的目录,其格式与为files配置指定的格式相同。
E-builder.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' + '\"';现在,可以将需要从assets文件夹执行的任何内容附加到execPath。
https://stackoverflow.com/questions/56198535
复制相似问题