1:问题出现的原因
出现这个问题是node.js 的版本问题,因为 node.js V17开始版本中发布的是OpenSSL3.0, 而OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在使用 nodejs V17以上版本后会报错。而github项目很多都是之前版本的npm,所以运行时候会出现这个问题。

解决办法一(推荐)

在项目中打开package.json文件夹,在serve或者dev处前面加上

set NODE_OPTIONS=--openssl-legacy-provider

一定要在前面,也就是要写成:

set NODE_OPTIONS=--openssl-legacy-provider  && vue-cli-service serve

而不是在后面加。再次运行即可解决。

vue-cli创建项目运行报错this[kHandle] = new _Hash(algorithm, xofLen);(完美解决)_javascript

解决办法二(不太推荐)

第二个方法则是改node的版本,从根处解决,不过可能你现在写的代码在之前的node版本不兼容了。大多数运行其他的代码就是为了实现对应的效果,能跑通运行即可,然后把那个代码实现的功能加到自己的项目上即可,所以不太推荐降低node的版本,但这里还是记录一下,既然是node.js V17开始版本中发布的是OpenSSL3.0,那么使用v16版本的就ok了。
在下面网站下载对应的node。
https://nodejs.org/download/release/v16.19.0/ 下载对应版本即可

vue-cli创建项目运行报错this[kHandle] = new _Hash(algorithm, xofLen);(完美解决)_ide_02