我正在创建一个angular库,它在内部使用vtk.js库。我尝试将vtk.js添加为对等依赖项。但在安装我的自定义包时,它也显示了安装vtk.js的警告。
有什么办法可以确保vtk.js包也会被装在我的angular包里吗?
您可以用两种方式表达库的依赖关系(实际上是3种,但devDependencies
非常自我解释,所以我们省略了它们(
peerDependencies
-如果需要表达以下内容,可以使用这种类型的依赖关系:
- 您的库依赖于另一个库的特定版本
- 如果
node_module
包含几个版本的依赖项,您的库将发生冲突(由于所谓的传递依赖项,这种情况是可能的( - 您希望开发人员决定使用哪个版本的依赖项
正如您所提到的,peerDependencies
不是自动安装的,相反,它会警告您库的消费者缺少依赖项或不兼容的版本
2.dependencies
-如果您不关心上述情况,请使用依赖项。这里有vtk.js
可以保证它将自动为您的lib 的每个消费者安装