拿到项目首先就是运行 npm i ,结果出现 几十上百个 vulnerabilities 漏洞,其中还包含很多 红色高风险 vulnerabilities,表明项目依赖版本有问题,运行项目也根本运行不起来,我根据网上提供的方案一共尝试了以下各种姿势:
1、运行 npm audit fix
2、运行 npm audit fix --force
3、删除 node_modules
4、运行 npm cache clean --force
5、运行 npm install --legacy-peer-deps
6、删除 package-lock,运行5
7、更换node版本 10,12,14,每一个版本更换后都依次执行 3,4,6,5
8、删除项目重新拿代码,不再删除 package-lock,再按上述方法中某些项各种尝试
9、把其中的 npm cache clean --force 命令换成 npm cache verify 后继续 npm i
反正都是上述方法各种组合尝试,每一次运行都会报错存在很多vulnerabilities,且都包含高风险,对此我想说以下6点 ......
最后,又删除项目重新拿代码,重新依次执行:
$npm audit fix # 提示漏洞修复了十多个
$npm audit fix --force # 提示漏洞修复了五十多个
此时报错 node要求 12 || >=14,但是目前却是 node 10
喜出望外,终于报点不一样的错了,并且具体指出了问题,赶紧换成node12,然后继续 npm audit fix,此时无论如何运行这两句fix都没有修复一个漏洞,好在我看到少只是提示有多个漏洞,已经没有提示具体的漏洞类型种类了,自然也就没有提示有几个红色高风险漏洞,那是不是就可以忽略这些漏洞了,我赶紧尝试:
npm run dev
居然成功跑起来了,但是页面在报错:
可以看到一共两个问题:
1、解决 Error: Can't resolve 'path' in
1、npm i path-browserify
2、webpack配置:
module.exports = {
configureWebpack: {
fallback: {
"path": require.resolve("path-browserify"),
}
},
}
2、解决 Error: Can't resolve 'util' in 'D:\Work-Project\csservice-ui\src\utils\generator'
从 'D:\Work-Project\csservice-ui\src\utils\generator' 目录中一个个的去搜索 util ,某些文件引入使用了:
把这行代码注释掉,里面使用的 isArray() 全部换成 Array.isArray()
🆗,重新启动项目,运行页面终于干净了,cao