Node.js 18 版本问题

问题来源

因为 node.js v17 版本中最近发布使用了 OpenSSL3.0, 而 OpenSSL3.0 对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。故此以前的项目在升级 nodejs 版本后会报错。

img

解决方案

修改 package.json,在相关构建命令前添加 SET NODE_OPTIONS=--openssl-legacy-provider

package.json
"scripts": {
"dev": "SET 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"
}

这样就运行npm run dev命令而不会报错。