【Electron+Vue】Error: error:0308010C:digital envelope routines::unsupported

问题描述

使用 electron-builder 构建 vue 项目,运行 npm run electron:build ,构建过程报错。

bash 复制代码
/  Bundling main process...

ERROR  Failed to compile with 1 errors                                                                                                                  16:08:17

 error 

background.js from Terser
Error: error:0308010C:digital envelope routines::unsupported
    at new Hash (node:internal/crypto/hash:69:19)
    at Object.createHash (node:crypto:133:10)

原因分析

在使用 electron-builder 构建项目时,使用的 Node.js 版本过高,不支持当前的 OpenSSL 版本,导致构建失败。

解决这个问题的方法是在构建命令前设置 NODE_OPTIONS 环境变量,强制使用 OpenSSL 的旧版提供程序。


解决方案

打开package.json,找到

javascript 复制代码
  "scripts": {
    "electron:build": "vue-cli-service electron:build",
  },

改为

javascript 复制代码
  "scripts": {
    "electron:build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service electron:build",
  },
相关推荐
生擒小朵拉4 分钟前
STM32添加库函数
java·javascript·stm32
还有多远.1 小时前
jsBridge接入流程
前端·javascript·vue.js·react.js
w2sfot1 小时前
Passing Arguments as an Object in JavaScript
开发语言·javascript·ecmascript
烛阴2 小时前
【TS 设计模式完全指南】从零到一:掌握TypeScript建造者模式,让你的对象构建链式优雅
javascript·设计模式·typescript
前端Hardy2 小时前
HTML&CSS:有趣的漂流瓶
前端·javascript·css
前端Hardy2 小时前
HTML&CSS :惊艳 UI 必备!卡片堆叠动画
前端·javascript·css
无羡仙2 小时前
替代 Object.freeze 的精准只读模式
前端·javascript
半花3 小时前
【Vue】defineProps、defineEmits 和 defineExpose
前端·vue.js
我的名字帅不帅3 小时前
使用 Element UI -Container 布局容器时监听屏幕滚动无效
vue.js
用户28003832908403 小时前
升级Vue3.4+版本,ant-design-vue 3.x 版本的Modal函数方式无法关闭问题
vue.js