【发布时间】:2019-05-11 22:13:00
【问题描述】:
我使用 'electron-packager 。 --asar' 命令打包我的项目文件夹。但是有些文件夹在打包时一定不能包含。
是否可以排除某些文件夹?
如果是这样,我想将这些文件夹包含在 exe 文件路径中,以便用户可以管理他们的文件。有没有办法做到这一点?
提前谢谢你!
【问题讨论】:
标签: electron
我使用 'electron-packager 。 --asar' 命令打包我的项目文件夹。但是有些文件夹在打包时一定不能包含。
是否可以排除某些文件夹?
如果是这样,我想将这些文件夹包含在 exe 文件路径中,以便用户可以管理他们的文件。有没有办法做到这一点?
提前谢谢你!
【问题讨论】:
标签: electron
是否可以排除某些文件夹?
是的,你可以用ignore来做
您可以使用 --ignore 通过常规忽略文件和文件夹 表达式(不是全局模式)。示例包括 --ignore=.gitignore 或 --ignore=".git(ignore|modules)"。
查看API文档here
如果是这样,我想将这些文件夹包含在 exe 文件路径中,以便用户可以管理他们的文件。有没有办法做到这一点?
您可以使用extraResource API 将它们包含到resources 目录(文档here):
额外资源
字符串或字符串数组
一个或多个文件直接复制到应用程序的 OS X 目标平台的 Contents/Resources 目录,以及 其他目标平台的资源目录。
希望对您有所帮助。
【讨论】:
我有类似的问题。我想从 asar 包中排除包含 (*.exe, *.dll) 的 qpdf 文件夹。如果没有直接从 asar 包链接的 .dll,我的 qpdf.exe 无法运行。
我刚刚将 --extra-resource 参数添加到电子打包器语法中,其中我排除了整个 qpdf 文件夹。然后这个文件夹和里面的所有文件都在带有 asar 包的资源文件夹中。
我的 package.json 的一部分
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "electron .",
"package-win": "electron-packager . hiss_xread --overwrite --extra-resource=\"./qpdf\" --asar --platform=win32 --arch=x64 --icon=src/xRead.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"Hiss xRead\""
},
构建应用中的资源文件夹如下所示。
【讨论】: