gpt4 book ai didi

typescript - 在 mac 上构建后在 Electron 应用程序中找不到模块

转载 作者:行者123 更新时间:2023-12-03 06:47:29 24 4
gpt4 key购买 nike

我现在正在使用一个使用 vue 和 typescript 的小型 Electron 应用程序。当我在开发模式下运行应用程序时,一切正常,但是当我使用 electron builder 构建应用程序时,一些模块会以某种方式丢失。在我的例子中,模块 adm-zipsudo-prompt 在构建过程中以某种方式消失了。因此,当应用程序启动时,我在这行 const AdmZip = window.require('adm-zip'); 上收到错误 我已经尝试用不同的模块切换模块,但这并没有似乎很重要。我想这是 webpack 和 typescript 的问题,但由于我不是一个 webpack/electron 的人,我肯定在这里错过了一些东西。其他模块正在工作,例如所有节点内容或我也在使用的 electron-store 模块。

这是一个常见问题吗?我是否必须以某种方式以不同方式导入模块? Import 或正常的 require 不起作用,我总是必须执行 window.require

这将是 repo : https://github.com/w3champions/w3champions-launcher在分支 AddLauncherStuff 上

最佳答案

好吧,我终于找到了问题所在:adm-zip 具有原生依赖,因此您必须将其作为外部依赖添加到 vue.config.js 中也应该适用于其他模块,如果它们有依赖模块。我在我的项目的顶级文件夹中添加了以下 vue.config.jsadm-zip 现在它被烘焙到构建版本中。您不必将 vue.config.js 添加到任何构建步骤或任何其他内容,只需将其添加到项目顶部就足以让 webpack 获取它。

module.exports = {
pluginOptions: {
electronBuilder: {
externals: ['adm-zip']
}
}
}

关于typescript - 在 mac 上构建后在 Electron 应用程序中找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63085613/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com