【问题标题】:External webpack module for electron does not work after building构建后用于电子的外部 webpack 模块不起作用
【发布时间】:2020-03-14 06:28:57
【问题描述】:

我正在尝试在我的 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 应用程序。

【问题讨论】:

    标签: webpack electron electron-builder


    【解决方案1】:

    问题是我在vue.config.js 中使用了这个:

       chainWebpack: config => {
         config.externals({
            archiver: "require('archiver')"
         })
       }
    

    但因为我有vue-cli-plugin-electron-builder,我应该使用:

      pluginOptions: {
        electronBuilder: {
          externals: ['archiver'],
          builderOptions: {
          etc...
          }
        }
      }
    

    【讨论】:

    • 非常感谢!几天来我一直在用头撞墙试图弄清楚这一点,直到我遇到了这个。
    猜你喜欢
    • 2019-03-24
    • 1970-01-01
    • 2018-08-04
    • 2020-07-17
    • 1970-01-01
    • 2018-04-25
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    相关资源
    最近更新 更多