Sim*_*s0n 2 typescript vue.js electron electron-builder
我现在正在使用一个使用 vue 和 typescript 的小型电子应用程序。当我在开发模式下运行应用程序时,一切正常,但是当我使用电子生成器构建应用程序时,某些模块不知何故丢失了。在我的情况下,模块adm-zip
和sudo-prompt
莫名其妙的构建过程中消失。所以当应用程序启动时,我在这条线上收到一个错误const AdmZip = window.require('adm-zip');
我已经尝试用不同的模块切换出模块,但这似乎并不重要。我想这是 webpack 和 typescript 的一个问题,但由于我不是一个 webpack/电子人,我肯定会错过这里的一些东西。其他模块正在工作,比如所有节点的东西或electron-store
我也在使用的模块。
这是一个常见问题吗,我是否必须以某种方式以不同方式导入模块?Import
还是正常的require
不行,我总得做的window.require
这将是回购:https : //github.com/w3champions/w3champions-launcher在分支 AddLauncherStuff
好吧,我终于发现了问题:adm-zip
具有天然的依赖性,因此必须将其添加为一个外部依赖vue.config.js
这也应该对其他模块的工作藏汉,如果他们有depenant模块。我在项目的顶部文件夹中添加了以下内容vue.config.js
,adm-zip
现在它被支持到构建版本中。您不必在vue.config.js
任何构建步骤或任何内容中添加 ,只需将它添加到您的项目顶部就足以让 webpack 接收它。
module.exports = {
pluginOptions: {
electronBuilder: {
externals: ['adm-zip']
}
}
}
Run Code Online (Sandbox Code Playgroud)