javascript - 在 Electron 应用程序中仅使用 asar 打包某些目录
问题描述
我有一个电子应用程序,我试图使用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 目录中?
解决方案
推荐阅读
- javascript - 使用数组将动态添加的 li 和 ul 元素保存到数据库
- python - 使用多处理写入多个文件。错误:“TypeError:无法序列化 '_io.TextIOWrapper' 对象”
- docker - 如何设置 docker date 并确保它不与我的系统时间同步?
- python - How to construct regex to identify dollar ($) money sum
- r - 与 R 的网络定制作斗争
- javascript - ag-grid 复制并粘贴带有双引号的单元格
- bash - 访问 SGE 作业脚本标题中设置的变量
- angular - 必须在索引处为表单控件提供一个值:1 - 错误
- java - Intellij IDEA 2018.2 无法识别带有 JDK 10 的 JavaFX 包
- python - OpenCV中Trackbar的负值范围