跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 为什么用 vue add electron-builder 后创建的应用编译后无法使用某些第三方模块?
未分類
4 2 月 2021

为什么用 vue add electron-builder 后创建的应用编译后无法使用某些第三方模块?

为什么用 vue add electron-builder 后创建的应用编译后无法使用某些第三方模块?

資深大佬 : pcell 7

package.json 中 dependencies 有 chokidar 和 iconv-lite,npm run electron:serve 运行时能通过 window.require(“chokidar”) 的形式正常加载,但使用 npm run electron:build 编译后的 exe 无法加载这两个模块,这是为什么? mitt 和 nodejs 的 fs 模块都能正常加载使用。
错误信息如下:
Uncaught Error: Cannot find module ‘chokidar’
Require stack:
– electron/js2c/renderer_init
at Module._resolveFilename (internal/modules/cjs/loader.js:797)
at Function.i._resolveFilename (electron/js2c/renderer_init.js:43)
at Module._load (internal/modules/cjs/loader.js:690)
at Function.Module._load (electron/js2c/asar.js:769)
at Module.require (internal/modules/cjs/loader.js:852)
at require (internal/modules/cjs/helpers.js:74)
at Module.56d7 (app.dc68e4fd.js:1)
at l (app.dc68e4fd.js:1)
at Object.0 (app.dc68e4fd.js:1)
at l (app.dc68e4fd.js:1)

我的 package.json 内容( mammoth 没有用上):
{
“name”: “electron-xx”,
“version”: “0.1.0”,
“private”: true,
“scripts”: {
“serve”: “vue-cli-service serve”,
“build”: “vue-cli-service build”,
“lint”: “vue-cli-service lint”,
“electron:build”: “vue-cli-service electron:build”,
“electron:serve”: “vue-cli-service electron:serve”,
“postinstall”: “electron-builder install-app-deps”,
“postuninstall”: “electron-builder install-app-deps”
},
“main”: “background.js”,
“dependencies”: {
“chokidar”: “^3.5.1”,
“core-js”: “^3.6.5”,
“iconv-lite”: “^0.6.2”,
“mammoth”: “^1.4.16”,
“mitt”: “^2.1.0”,
“vue”: “^3.0.0”
},
“devDependencies”: {
“@vue/cli-plugin-babel”: “~4.5.0”,
“@vue/cli-plugin-eslint”: “~4.5.0”,
“@vue/cli-service”: “~4.5.0”,
“@vue/compiler-sfc”: “^3.0.0”,
“babel-eslint”: “^10.1.0”,
“electron”: “9.4.1”,
“electron-devtools-installer”: “^3.1.0”,
“eslint”: “^6.7.2”,
“eslint-plugin-vue”: “^7.0.0-0”,
“node-sass”: “^5.0.0”,
“sass-loader”: “^10.1.1”,
“vue-cli-plugin-electron-builder”: “^2.0.0-rc.5”
},
“eslintConfig”: {
“root”: true,
“env”: {
“node”: true
},
“extends”: [
“plugin:vue/vue3-essential”,
“eslint:recommended”
],
“parserOptions”: {
“parser”: “babel-eslint”
},
“rules”: {}
},
“browserslist”: [
“> 1%”,
“last 2 versions”,
“not dead”
]
}

大佬有話說 (3)

  • 資深大佬 : zzk1989

    你没有 externals
    ![]( https://ftp.bmp.ovh/imgs/2021/01/e0a765d56b62b6e7.png)

  • 主 資深大佬 : pcell

    @zzk1989 好的好的,我回去试试

  • 主 資深大佬 : pcell

    @zzk1989 可以了,谢谢!补充完整一点细节:新建一个和 package.json 同目录的 vue.config.js 加上
    module.exports = {
    pluginOptions: {
    electronBuilder: {
    externals: [‘chokidar’, ‘iconv-lite’]
    }
    }
    }

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具