【发布时间】:2019-10-17 19:16:11
【问题描述】:
我在将我的应用程序打包成单个 .asar 文件时遇到问题。我正在使用electron-builder 来启动.asarfile 的打包。如果我不将应用程序打包到 asar 中,如果我解压缩生成的 asar,它会按预期工作,它也会按预期工作。
但是,使用 asar 运行电子会产生此错误:
Error: Cannot find module './MyModuleBase'
at Module._resolveFilename (internal/modules/cjs/loader.js:584:15)
以前,asar 可以正常工作,但我们在项目中进行了一些重构,将代码拆分为一个新模块。
**初始配置(ASAR 工作)**
+--electron-application
+--application
electron-application 依赖于 application 模块。
**新配置(ASAR 损坏)**
+--electron-application
+--application
+--application-core
electron-application 依赖于application 模块,application 依赖于application-core MyModuleBase 在 application-core 模块中
可能相关的另一点:应用程序正在使用 webpack-stream 模块与 web-pack 打包。
更新:我已经解决了这个问题,但是我仍然想知道为什么 .asar 版本会失败并且提取文件会起作用。
【问题讨论】:
标签: webpack electron electron-builder asar