假如vue的组件库的vue版本跟主工程的vue版本不一致,会出什么问题吗?

来源:15-1 课程资料汇总

李行知

2020-08-11

今天了解到的Peer Dependencies的概念
可以统一组件库的依赖版本跟主工程的依赖版本
减少打包体积

但是假如存在packageA要求某个依赖d1的版本高于x,而另外一个packageB要求的版本低于x
这种时候应该怎么办呢?
这个时候我感觉可以让A跟B分别有自己的依赖d1

但是跟同事交流过程中,他说例如react跟vue这种依赖,就不能有两个不同的版本
这个是为什么呢?
除了会增大包体积以外还有别的问题吗?

可以举个例子吗?

按照个人的理解
既然已经分开了,那么pA跟pB以及主工程都用了不同的d1,那么为啥会造成影响呢?

写回答

1回答

ustbhuangyi

2020-08-12

首先,Vue 的组件库可以看作为 Vue 的插件,Vue 的插件开发都不会直接依赖 Vue 的,Vue 只是插件的开发时依赖。而当你的 Vue 项目依赖 Vue 开发的组件库的时候,会通过 Vue.use 去注册组件库,其实就会把 Vue 作为参数传递到 install 函数中,你就可以在组件库中访问到 Vue 了,所以组件库不需要依赖 Vue。
至于版本,一般只要保证应用中的 Vue 版本高于组件库的 Vue 版本即可,因为通常都是向后兼容的,当然版本一致最好。但是不能出现大版本的不一致,比如 Vue 2 和 Vue 3。

0
2
ustbhuangyi
回复
李行知
如果是一些相同基础库的依赖,在组件库中可以定义 peer Dependencies,让 App 去提供依赖,比如 axios
2020-08-13
共2条回复

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程