1.问题描述
更新了Node
后执行前端项目npm run dev
时报错:
Error: error:0308010C:digital envelope routines::unsupported
具体如下:
Error: error:0308010C:digital envelope routines::unsupported
at new Hash (node:internal/crypto/hash:68:19)
at Object.createHash (node:crypto:138:10)
at xxx\node_modules\compression-webpack-plugin\dist\index.js:243:42
at CompressionPlugin.compress (xxx\node_modules\compression-webpack-plugin\dist\index.js:284:9)
at xxx\compression-webpack-plugin\dist\index.js:305:12
at _next1 (eval at create (xxx\node_modules\webpack\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:14:17)
at eval (eval at create (xxx\node_modules\webpack\node_modules\tapable\lib\HookCodeFactory.js:33:10), <anonymous>:33:1)
at xxx\node_modules\copy-webpack-plugin\dist\index.js:91:9
Process finished with exit code 1
2.解决办法
原因就是升级版本导致的,需要增加针对SSL的处理:
原来:
vue-cli-service serve
改为:
SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve
如果是package.json
里的话:
//...
"scripts": {
"dev": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
"build:prod": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
//...
},
//。。。