我正在尝试在我的Electron应用程序中使用archiver
模块。起初这会在开发过程中引起错误,因为我没有将其添加到我的webpack外部组件中:
chainWebpack: config => {
config.externals({
archiver: "require('archiver')"
})
},
这在开发中起作用,但事实证明,在构建用于生产的应用程序后,在启动该应用程序后出现了一个新错误:
Uncaught Error: Cannot find module 'archiver'
Require stack:
- C:\Users\user\workspace\my-app\dist_electron\win-unpacked\resources\electron.asar\renderer\init.js
at Module._resolveFilename (internal/modules/cjs/loader.js:627)
at Function.Module._resolveFilename (C:\Users\user\workspace\my-app\dist_electron\win-unpacked\resources\electron.asar\common\reset-search-paths.js:41)
at Function.Module._load (internal/modules/cjs/loader.js:531)
at Module.require (internal/modules/cjs/loader.js:685)
at require (internal/modules/cjs/helpers.js:16)
at Object.4f22 (app.107e8b71.js:1)
at o (app.107e8b71.js:1)
at Object.d7c3 (app.107e8b71.js:1)
at o (app.107e8b71.js:1)
at Module.f8da (app.107e8b71.js:1)
我该如何解决?
我正在使用vue-cli-plugin-electron-builder
来构建我的Electron应用。
答案 0 :(得分:0)
问题是我在vue.config.js
中使用了此
chainWebpack: config => {
config.externals({
archiver: "require('archiver')"
})
}
但是因为我有vue-cli-plugin-electron-builder
,所以我应该使用:
pluginOptions: {
electronBuilder: {
externals: ['archiver'],
builderOptions: {
etc...
}
}
}