问题:
vue2.X版本构建或运行项目报出如下警告:
解释:
/deep/
穿透和>>>组合器已经被弃用,此项目版本不支持,需使用deep()来代替。
原因:
vue项目package.json配置中,版本带了尖括号,项目更新时升级了项目依赖,拉取新代码并重新安装依赖,再打包就出现了上述问题。
"vue": "^2.6.14",
"vue-template-compiler": "^2.6.14"
解决:
- 方式一:按照警告提示,将所有的>>> 和 /deep/ 替换为:deep()。但是对于庞大的老项目来说,改造起来有些费力不讨好。但是这种方式的确能够解决问题。
- 方式二:将依赖还原为升级之前的版本,锁定版本,如:
"vue": "2.6.14",
但不建议采用锁定版本方式,因为某些版本可能会有安全问题,需要进行版本升级。
- 方式三:尝试将依赖还原为升级之前的版本,然后通过执行
npm outdated
命令,查看有哪些已经过时的依赖。过时依赖执行npm update
直接进行升级。