1、问题描述:
其一、报错为:
Error: error:0308010C:digital envelope routines::unsupported
中文为:
错误:错误:0308010C:数字信封例程::不支持
其二、问题描述为:
在项目打包的时候 npm run build
,控制台报错,并抛出一个 Node.js v18.16.0
的问题;
其三、控制台报错的页面显示为:
2、问题分析:
根据报错的提示:Node.js v18.16.0
,应该是 webpack
版本与 node
版本不匹配的问题;
3、问题解决:
其一、确定原因:
就是 node
版本过高的原因;
其二、解决 node
版本过高的方式:
A、降 node
的版本:
将 node
版本降低,从 v18.16.0
可以降成与 webpack
相适配的 v14.19.0
等版本;
B、兼容 node
的高版本:
不想降版本,可以在 package.json
的 ”scripts“
的 "build"
中配置命令:
SET NODE_OPTIONS=--openssl-legacy-provider && webpack
,然后就解决了该问题;
C、修改后的代码页面:
D、修改前后的代码对比:
// 修改前的代码为:
"scripts": {
"build": "webpack"
},
// 修改后的代码为:
"scripts": {
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && webpack"
},
4、小结:
其一、哪里有不对或不合适的地方,还请大佬们多多指点和交流!
其二、若有转发或引用本文章内容,请注明本博客地址(直接点击下面 url 跳转
) https://blog.csdn.net/weixin_43405300,创作不易,且行且珍惜!
其三、有兴趣的话,可以多多关注这个专栏(Vue(Vue2+Vue3)面试必备专栏)(直接点击下面 url 跳转
):https://blog.csdn.net/weixin_43405300/category_11525646.html?spm=1001.2014.3001.5482