我现在使用的是一个小型的电子应用程序,它使用vue和类型记录。当我在开发模式下运行这个应用程序时,一切都很好,但是当我用电子构建器构建应用程序时,有些模块不知怎么就丢失了。在我的例子中,模块adm-zip和sudo-prompt在构建过程中不知何故消失了。因此,当应用程序启动时,我在这一行中遇到了一个错误-- const AdmZip = window.require('adm-zip');,我已经尝试过用不同的模块切换模块,但这似乎并不重要。我想这是webpack和打字稿的问题,但由于我不是webpack/电子人,所以我肯定错过了这里的一些东西。其他模块也在工作,比如我所使用的所有节点或electron-store模块。
这是一个常见的问题吗?我需要以不同的方式导入模块吗?Import还是普通的require不能工作,我总是必须执行window.require
这将是回购:https://github.com/w3champions/w3champions-launcher on AddLauncherStuff分支
发布于 2020-07-29 17:18:27
好的,我终于发现了这个问题:adm-zip有本机依赖项,因此您必须将它作为外部依赖项添加到vue.config.js中,如果其他模块有依赖模块,这也同样适用。我在我的项目的顶部文件夹中添加了下面的vue.config.js和adm-zip,现在它被烘焙到构建的版本中。您不需要将vue.config.js添加到任何构建步骤或任何东西中,只需将其添加到项目的顶部就足够了,webpack可以把它捡起来。
module.exports = {
pluginOptions: {
electronBuilder: {
externals: ['adm-zip']
}
}
}发布于 2020-07-27 11:22:57
我在Windows中使用管理权限执行了"npm运行构建“。我的窗户里一切都很好。
希望这篇文章能对你有所帮助。
https://stackoverflow.com/questions/63085613
复制相似问题