【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",
  },
相关推荐
TU不秃头4 小时前
JS逆向实战五:某海关公示平台分析(瑞数加密)
javascript·爬虫
Можно7 小时前
深入理解 ES6 Proxy:与 Object.defineProperty 的全面对比
前端·javascript·vue.js
天天向上10249 小时前
vue el-table实现拖拽排序
前端·javascript·vue.js
西西学代码9 小时前
Flutter---回调函数
开发语言·javascript·flutter
卷帘依旧9 小时前
JavaScript 闭包经典问题:为什么输出 10 次 i=10
javascript
柳杉10 小时前
Three.js × Blender:从建模到 Web 3D 的完整工作流深度解析
前端·javascript·数据可视化
reembarkation11 小时前
vue3中使用howler播放音频列表
前端·vue.js·音视频
用户8061381665911 小时前
发布为一个 npm 包
前端·javascript
TT_哲哲11 小时前
小程序双模式(文件 / 照片)上传组件封装与解析
前端·javascript
从文处安12 小时前
「九九八十一难」从回调地狱到异步秩序:深入理解 JavaScript Promise
前端·javascript