我有一个电子应用程序,我试图使用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 目录中?