前端之家收集整理的这篇文章主要介绍了
3.3.传递依赖和依赖范围的关系,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们来看这样一种依赖
项目A依赖项目B,项目B依赖项目C。那么项目A一定会引入项目C吗?
答案当然是不会的,我们还要看依赖范围(scope)来确认A与C的关系。
我们把A对于B的依赖叫做第一直接依赖
我们把B对于C的依赖叫做第二直接依赖
A对于C是传递性依赖
下图中最左一列表示第一直接依赖范围,最上一行是第二直接依赖范围,中间单元格则表示传递性依赖范围。
依赖范围影响传递性依赖
@H_403_60@
@H_403_60@compile
@H_403_60@test
@H_403_60@provided
@H_403_60@runtime
@H_403_60@compile
@H_403_60@compile
@H_403_60@-
@H_403_60@-
@H_403_60@runtime
@H_403_60@test
@H_403_60@test
@H_403_60@-
@H_403_60@-
@H_403_60@test
@H_403_60@provided
@H_403_60@provided
@H_403_60@-
@H_403_60@provided
@H_403_60@provided
@H_403_60@runtime
@H_403_60@runtime
@H_403_60@-
@H_403_60@-
@H_403_60@runtime
当第二直接依赖的范围是compile的时候传递性依赖的范围与第一直接依赖的范围一致。
当第二直接依赖的范围是test的时候依赖不会得以传递
当第二直接依赖的范围是provided,只有第一直接依赖范围是provided才传递,且传递性依赖的范围同样是provided
当第二直接依赖的范围是runtime,传递性依赖与第一直接依赖范围一致,但complie除外。