我有一个问题,将我的应用程序打包到一个.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
+--applicationelectron-application依赖于application模块。
**新配置(ASAR中断)**
+--electron-application
+--application
+--application-coreelectron-application依赖于application模块,application依赖于application-core MyModuleBase在应用程序核心模块中。
还有一点可能是相关的:应用程序正在使用webpack流模块与webpack一起打包。
更新:--我已经解决了这个问题,但是我仍然想知道为什么.asar版本会失败,并且解压文件也会工作。
发布于 2019-06-01 14:37:22
在深入研究这个问题之后,看起来问题的根本原因就在上游。主要进程是引用application中的一个类,但是主进程没有被was打包。类已经被移到main,现在一切都按预期工作。电子应用程序似乎能够解析未打包状态下的文件,但无法解析打包状态。
https://stackoverflow.com/questions/56406934
复制相似问题