问题描述:公司项目有的是vue2,有的是vue3,应该是某次在做vue3项目时升级了node版本,导致vue2的项目都启动不了,引发了一系列的问题,记录一下解决过程。
-
首先是npm run dev 报错 error:0308010C:digital envelope routines::unsupported
解放方法:
在package.json文件中增加配置 set NODE_OPTIONS=--openssl-legacy-provider ,如图:
dev环境运行解决了,但是打包又报错 TypeError: Class extends value undefined is not a constructor or null
网上搜的常用解决方案:
1) npm install --save-dev mini-css-extract-plugin
2) npm install webpack -g // 全局安装
npm install webpack --save-dev //在项目开发依赖中安装
3)删除项目中package-lock.json 文件 ,然后再重新yarn install 或者 npm install 一下
删除后依赖安装报错
3、我试了第一种没成功,尝试第三种,但是安装依赖时又出现错误:
Fix the upstream dependency conflict, or retry this command with --force or --legacy-peer-deps to accept an incorrect (and potentially broken) dependency resolution
来一个问题咱解决一个,使用以下命令搞定:
npm set legacy-peer-deps=true
4、重新npm install 成功,但是build继续报之前的错 TypeError: Class extends value undefined is not a constructor or null
重新使用方案1终于搞定,具体原因不知
npm install --save-dev mini-css-extract-plugin