Vue项目启动报错Error: error:0308010C:digital envelope routines::unsupported

Vue项目启动报错Error: error:0308010C:digital envelope routines::unsupported_第1张图片

 Vue项目启动报错Error: error:0308010C:digital envelope routines::unsupported_第2张图片

报错原因:

node版本号问题版本兼容报错,现在使用的node版本和项目创建时的node版本不一致,node.js v17中的OpenSSL3.0对允许算法和密钥大小增加了严格的限制,可能会对生态系统造成一些影响。

解决方法一: 

PS E:\xx> $env:NODE_OPTIONS="--openssl-legacy-provider"
PS E:\xx> npm run serve

在命令行输入:$env:NODE_OPTIONS="--openssl-legacy-provider" 

再启动服务

此方法不影响打包(build)
 

解决方法二:

修改package.json中"scripts"配置项

//原scripts
"scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
},


//修改为
"scripts": {
    "serve": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
    "build": "vue-cli-service build"
},

此方法打包时需要修改回原来的配置,再执行build

如打包(build)报错,在命令行输入:$env:NODE_OPTIONS="--openssl-legacy-provider" 再执行打包(build)

你可能感兴趣的:(Millia's,work,vue.js,前端,javascript)