0

我有一个电子应用程序,我试图使用asar来打包 node_modules 和源目录,不包括其他目录。

我注意到在asar启用启用的应用程序时,整个应用程序目录都被打包了。这并不理想,因为一些可执行文件和 DLL 需要在 asar 文件之外可用。

我试过的

目前,我有一个打包源和 node_modules 目录的脚本(使用 asar)。此脚本在 Electron-Forge 构建可执行文件后执行。但是 Electron 似乎不会自动检查 asar 文件中的 source 和 node_module 文件。我收到错误"Error: Cannot find module index.js"。这给出了想要的文件结构,但不适用于 Electron(参见下面的“文件结构”)。

文件结构

创建可执行文件之前的文件结构:

- node_modules/
- sources/
- executable/
- images/

创建可执行文件后所需的文件结构:

- resource/
   - app/
      - executable/
      - images/
      - sources.asar
      - node_modules.asar

或以下(app.asar文件应仅包含sources/andnode_modules/目录):

- resource/
   - app/
      - executable/
      - images/
   - app.asar

重要的是 Electron 知道何时使用asar文件以及何时直接使用文件。是否可以像这样配置它,或者类似的东西?

问题

有没有办法将 Electron/Electron-Forge 配置为仅将某些目录打包到 asar 文件中,而将其他目录复制到 resource/app 目录中?

4

0 回答 0