我有一个电子应用程序,我试图使用阿萨打包node_modules和源目录,不包括其他目录。
我注意到在构建启用asar的应用程序时,整个应用程序目录都是打包的。这并不理想,因为有些可执行文件和DLL需要在asar文件之外可用。
我试过的
目前,我有一个脚本来打包源代码和node_modules目录(使用asar)。此脚本是在电子邮件生成可执行文件后执行的。但是,电子似乎不会自动检查asar文件的源文件和node_module文件。我收到错误"Error: Cannot find module index.js"。这提供了想要的文件结构,但不适用于电子(请参阅下面的“文件结构”)。
文件结构
创建可执行文件之前的文件结构:
- 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最重要的是,电子知道何时使用asar文件和何时直接使用这些文件。是否有可能像这样配置它,或者类似的东西?
问题
是否有任何方法配置电子/电子表单,使其只将某些目录打包到asar文件中,同时将其他目录复制到资源/应用程序目录中?
发布于 2022-05-19 16:23:34
在package.json In "build"一节中添加以下代码:
"build": {
"asar": true,
"asarUnpack": [
"**/thefirstfolder/secondfolder/**/*"
],
},这个"**/thefirstfolder/secondfolder/**/*"将解压缩secondfolder的所有子包
https://stackoverflow.com/questions/68938462
复制相似问题