在我的package.json中,如果我的包用户未安装此peerDependency,我想声明一个peerDependency并提供一个后备。
我一再发现这个问题,但似乎找不到一个好的解决方案。假设我是一个包含两个npm软件包的库的作者,其中一个软件包依赖于另一个:
package1
package2
=>依赖于package1
为了实现后备行为,我尝试将package1
作为依赖项以及对等依赖项添加到package2
。不幸的是,这似乎完全忽略了peerDependency,因为peerDependencies不会强制执行任何行为,只会发出警告。
我正在考虑删除依赖项,只保留peerDependency,这将迫使用户在要使用package1
时安装两个软件包,这是我想避免的。
是否有任何干净的方法可以实现上述行为?
阅读了很多有关此内容之后,没有干净的方法可以实现这一目标(坦率地说,是预期的)。
[我发现有用的一篇博客文章是this one。为了提高兼容性,我很可能将仅使用对等依赖项并牺牲一点可用性。