【发布时间】:2022-05-20 00:23:34
【问题描述】:
我有一个 Electron 应用程序,我正在尝试使用 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/
和
node_modules/
目录):
- resource/
- app/
- executable/
- images/
- app.asar
Electron 知道何时使用
asar
文件以及何时直接使用这些文件非常重要。是否可以像这样配置它,或者类似的东西?
问题
有什么方法可以配置 Electron/Electron-Forge 只将某些目录打包到 asar 文件中,而将其他目录复制到 resource/app 目录中?