问题描述
使用 electron-builder 构建 vue 项目,运行 npm run electron:build ,构建过程报错。
/ 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)
这个错误可能是由于使用的 Node.js 版本过高,不支持当前的 OpenSSL 版本,导致构建失败。
原因分析
在使用 electron-builder 构建项目时,使用的 Node.js 版本过高,不支持当前的 OpenSSL 版本,导致构建失败。
解决这个问题的方法是在构建命令前设置 NODE_OPTIONS 环境变量,强制使用 OpenSSL 的旧版提供程序。
解决方案
打开package.json,找到
"scripts": {
"electron:build": "vue-cli-service electron:build",
},
改为文章来源:https://www.toymoban.com/news/detail-724431.html
"scripts": {
"electron:build": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service electron:build",
},
通过设置 NODE_OPTIONS 环境变量为 --openssl-legacy-provider,可以强制使用旧版的 OpenSSL 提供程序,从而解决构建过程中的报错问题。文章来源地址https://www.toymoban.com/news/detail-724431.html
到了这里,关于【Electron+Vue】Error: error:0308010C:digital envelope routines::unsupported的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!