问题背景
在一次vue项目中,需要使用vue的一个插件vue-awesome-swiper,但是在安装完依赖后npm install swiper vue-awesome-swiper --save,代码使用上完全按照示例代码来,swiper的功能其实也正常,但控制台有一大片飘红,而且会很多
[Vue warn]: $attrs is readonly.和[Vue warn]: $listeners is readonly.两类报错
解决过程
方法一:
首先去了GitHub仓库看了issue好像没人提过🙁,度娘了下,大部分说的是vue和vue-template-compiler版本不一致导致的,但是我又看了我的package.json
vue和vue-template-compiler,发现还是有报错😞
方法二:
想起版本问题,我又回溯了一次整个项目安装依赖的过程,由于公司网络不稳定,项目起先依赖的时候都是cnpm方式,再次尝试把整个/node_modules都删除后,全部依赖都用npm方式安装,项目再次运行后,没有报错了,功能也都正常✌
个人小结:
$attrs is readonly.类似这种错误,应该是vue版本问题导致的,在后加入的依赖vue-awesome-swiper在使用npm安装后,在vue-awesome-swiper组件初始化渲染时,attr属性和事件挂载的时候都有点问题,所以需注意使用cnpm安装的依赖版本问题