乐趣区

关于electron:electron打包bug汇总

electron-builder

Error: Unresolved node modules: bufferutil, utf-8-validate

解决方案

计划一

electron-builder 包降级至最新版22.9.1

npm uninstall electron-builder
// or yarn remove electron-builder
npm i electron-builder -D
// or yarn add electron-builder -D

计划二

下载 electron-builder@20.19.2 放到 node_modules 目录下, 并手动装置依赖

// node_modules/electron-builder
npm i 
// or yarn

计划三

删除本地的 electron-builder 应用全局的electron-builder 来进行打包

// project
npm uninstall electron-builder
// or yarn remove electron-builder
npm i -g electron-builder
// or yarn add global http-server

解题思路

授人以鱼不如授人以渔

  1. 该 bug 尽管给的提醒是短少 bufferutil, utf-8-validate 两个包, 然而理论则是 app-builder-lib 包的问题
  2. 当你尝试装置这两个包后还在报该问题, 咱们就须要去解决提问题的人, 毕竟这是最快的计划
  3. 当你进入 app-builder-lib 目录下不难发现,app-builder-lib目录下并没有 src 这个目录
  4. 那么当初该怎么办? 咱们应该找别的形式, 比方 electron-builder 是能够应用全局包来打包的, 而后咱们先下载全局包 yarn add global electron-builder, 而后执行electron-builder --dir 来测试性的打一个包, 发现是能够打包实现的
  5. 那么问题根本能够锁定在包的依赖下面, 最快的解决方案是, 间接应用最新的包, 然而有些我的项目的话, 并不能应用最新的包, 那么, 咱们应该做的是
  6. 去 npmjs 找到对应的包, 而后


通过 Repository 进入该包的 github 主页,

通过 tags 找到对应版本的包, 下载下来并放入到 node_modules 目录下, 手动装置依赖来应用

  1. 在这个时候, 你就须要留神包下的 package.json 中对应的版本是否和你装置的版本统一

  1. 最初在看看对应文件, 找找提出问题的 , 而后你根本能够确定问题点出在哪里 (目前该问题后续无奈复现, 解决后我尝试复现该问题, 然而发现20.19.2 在没有呈现该问题, 目前仅有一张截图, 也是从我的小伙伴那里失去的)目前 windows 应用 electron 的体验总体来说不是很好, 劝退新人的概率还是很大, 大家有什么问题, 也欢送一起探讨

举荐

vue + electron

electron-vue

如果你须要调用 dll, 或者应用winax 一类的须要编译后应用的包, 还是比拟举荐 electron-vue 的, 至多你遇到的问题绝对会少, 如果你喜爱挑战的话, 举荐vue-cli-plugin-electron-builder

vue-cli-plugin-electron-builder

如果你只是须要一个 chrome 的壳, 那么举荐你应用 vue-cli-plugin-electron-builder, 同时搭配上vuetify 应用, 成果更棒
如我的开源我的项目: weChatTool

当然我还是比拟中意vue-cli-plugin-electron-builder

退出移动版