【问题标题】:Exclude some folders, while doing electron-packager . --asar在执行 electron-packager 时排除一些文件夹。 --asar
【发布时间】:2019-05-11 22:13:00
【问题描述】:

我使用 'electron-packager 。 --asar' 命令打包我的项目文件夹。但是有些文件夹在打包时一定不能包含。

  1. 是否可以排除某些文件夹?

  2. 如果是这样,我想将这些文件夹包含在 exe 文件路径中,以便用户可以管理他们的文件。有没有办法做到这一点?

提前谢谢你!

【问题讨论】:

    标签: electron


    【解决方案1】:

    是否可以排除某些文件夹?

    是的,你可以用ignore来做

    您可以使用 --ignore 通过常规忽略文件和文件夹 表达式(不是全局模式)。示例包括 --ignore=.gitignore 或 --ignore=".git(ignore|modules)"。

    查看API文档here

    如果是这样,我想将这些文件夹包含在 exe 文件路径中,以便用户可以管理他们的文件。有没有办法做到这一点?

    您可以使用extraResource API 将它们包含到resources 目录(文档here):

    额外资源

    字符串或字符串数​​组

    一个或多个文件直接复制到应用程序的 OS X 目标平台的 Contents/Resources 目录,以及 其他目标平台的资源目录。

    希望对您有所帮助。

    【讨论】:

    • 如果你能提供一个它的使用例子就太好了。我似乎无法让它在我的情况下工作,我有一个路径为 ./app/JSON/ 的文件夹,但我不能让它离开这个文件夹在 asar 包之外。
    【解决方案2】:

    我有类似的问题。我想从 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\""
      },
    

    构建应用中的资源文件夹如下所示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-09-02
      • 2017-08-09
      • 2018-03-21
      • 2016-10-28
      • 1970-01-01
      • 2018-11-20
      • 1970-01-01
      相关资源
      最近更新 更多