电子构建器不包括构建版本中的全部依赖项

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 选项特别保留该依赖项未打包。