NPM软件包.JSON继承



在NPM中是否有像Maven中的父型POM一样。目标是具有脚本,依赖项,依赖性的常见基础配置。不是基于诸如Yeoman之类的模板,而是基于父版。因此,任何更改他父母版本的项目都会自动获得此父母的更改。

你能指出我提示实现这一目标吗?

谢谢!

当前没有内置的NPM机制来实现这一目标,并且将来不可能有一个。

请参阅此处的讨论,尤其是此评论。

我们构建了https://github.com/cosium/dry-dry。
它的唯一目的是添加软件包。JSON继承能力。
它将所有命令委派给NPM。

该文档仍在早期,但起作用。

纱具有此功能(工作区),我建议对此使用纱线。

要考虑的另一个解决方案是拥有您发布的软件包A(例如,在私人注册表中)"捆绑"您希望使用的各种包装的版本。在软件包A中将它们列为peerDependencies。然后,需要一个作为项目的依赖性。任何包装a的消费者都会只需更新包a即可吸引"捆绑"的新版本。依赖性。考虑这种方法的两种并发症:

  1. 这些peerDependencies应该有多具体?如果您使用宽松的特异性,那么A的每个消费者都可能具有不同的版本。如果您想允许消费者升级合适,或者在需要时可能会协商特定版本,这将很有用。
  2. 能够对A的依赖项进行自动完成,例如在VSCODE中,需要额外的精力,请参见https://github.com/microsoft/typescript/issues/39911#issuecomment-1179167693。默认情况下,仅在项目中直接依赖依赖性a会自动完成;A的依赖项不会自动完成。

最新更新