电子构建器不包括构建版本中的全部依赖项
electron-builder not including entire dependency in built version
当我打开我的可执行文件时,Electron 给了我 'Error: Cannot find module './constructor/getOptions'。我将错误跟踪到我拥有的具有以下文件结构的依赖项:
我的问题是,在程序的构建版本中,整个 constructor
文件夹都丢失了。我查看构建版本的方式是使用命令 npx asar extract app.asar ./extracted
查看文件。当我查看此依赖项时,我只看到 index.js
被列在那里。
我检查了 index.js
的内部,看看 getOptions
是否正在导入,确实是。我尝试使用相对和绝对路径导入文件。我还确保依赖项不在 devDependency 之下,因为 electron-builder 会忽略它。我不太确定还能做什么。 electron-builder 是否可以选择更深入地了解依赖项的文件结构?
这是我的 package.json electron-builder 部分:
"build": {
"productName": "MintAIO",
"appId": "aio.mint",
"win": {
"icon": "build/ic.png"
},
"mac": {
"target": "dmg",
"icon": "build/ic-mac.png"
}
}
例如,您可以尝试在构建部分包含文件
"build": {
"productName": "MintAIO",
"appId": "aio.mint",
"win": {
"icon": "build/ic.png"
},
"mac": {
"target": "dmg",
"icon": "build/ic-mac.png"
},
"files": [
"constructor/*"
]
}
我认为这会成功....
对于将来可能遇到此问题的任何人,Asar 存在一个错误,其中目录名称 constructor
由于某种原因在打包时未包含在内。我不确定这可能会导致此问题的其他目录名称,但 constructor
绝对是其中之一。要解决此问题,您可以将该目录重命名为其他名称,或者使用 electron 构建配置中的 asarUnpack
选项特别保留该依赖项未打包。
当我打开我的可执行文件时,Electron 给了我 'Error: Cannot find module './constructor/getOptions'。我将错误跟踪到我拥有的具有以下文件结构的依赖项:
我的问题是,在程序的构建版本中,整个 constructor
文件夹都丢失了。我查看构建版本的方式是使用命令 npx asar extract app.asar ./extracted
查看文件。当我查看此依赖项时,我只看到 index.js
被列在那里。
我检查了 index.js
的内部,看看 getOptions
是否正在导入,确实是。我尝试使用相对和绝对路径导入文件。我还确保依赖项不在 devDependency 之下,因为 electron-builder 会忽略它。我不太确定还能做什么。 electron-builder 是否可以选择更深入地了解依赖项的文件结构?
这是我的 package.json electron-builder 部分:
"build": {
"productName": "MintAIO",
"appId": "aio.mint",
"win": {
"icon": "build/ic.png"
},
"mac": {
"target": "dmg",
"icon": "build/ic-mac.png"
}
}
例如,您可以尝试在构建部分包含文件
"build": {
"productName": "MintAIO",
"appId": "aio.mint",
"win": {
"icon": "build/ic.png"
},
"mac": {
"target": "dmg",
"icon": "build/ic-mac.png"
},
"files": [
"constructor/*"
]
}
我认为这会成功....
对于将来可能遇到此问题的任何人,Asar 存在一个错误,其中目录名称 constructor
由于某种原因在打包时未包含在内。我不确定这可能会导致此问题的其他目录名称,但 constructor
绝对是其中之一。要解决此问题,您可以将该目录重命名为其他名称,或者使用 electron 构建配置中的 asarUnpack
选项特别保留该依赖项未打包。