报错原因
nodeJs v17 版本发布了 OpenSSL3.0 对算法和秘钥大小增加了更为严格的限制,nodeJs v17 之前版本没影响,但 V17 和之后版本会出现这个错误。
解决方法
在package.json中,启动命令进行修改加入cross-env NODE_OPTIONS=--openssl-legacy-provider,使用cross-env主要是为了兼容Windows、Linux、MacOS各个平台的不同命令
javascript
"scripts": {
"dev": "cross-env NODE_OPTIONS=--openssl-legacy-provider vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
"devDependencies": {
"cross-env": "^7.0.3"
}