我正在使用JointJS作为一个NPM包,它运行得很好。我的问题是管理它的依赖关系。现在,它在自己的node_modules文件夹中创建了自己的jquery文件夹。它使用的是jQuery,但是在我的顶级node_modules文件夹中,jQuery是一个“顶级”文件夹,旁边是JointJS。如何使JointJS使用顶级jQuery,以便删除JointJS中的jquery文件夹?
ProjectFolder
node_modules
jointjs
node_modules
jquery (want to delete)
jquery发布于 2019-05-27 07:12:54
简短的版本是在完成npm dedupe之后运行npm install
这将扫描依赖树,并将嵌套的依赖项提升/指向位于依赖树顶层的依赖项()。
我说“它可以”,因为要做到这一点,就需要在您的jQuery中定义的package.json版本满足在JointJS的package.json中定义的jQuery版本的限制。例如,JointJS 需要jQuery 3.3.1的v2.2.1。如果您的jQuery版本完全偏离了这一点,npm dedupe将不会删除嵌套的jQuery依赖项。
还请记住,应用程序中的其他包可能有它们自己的jQuery版本,这些版本也可能与jQuery在顶层的结果进行交互。
在某些情况下,jQuery在JointJS中将保持嵌套,因为它必须保持嵌套,以满足应用程序的所有依赖和限制。
这个博客帖子在帮助我理解npm的依赖解决方案是如何工作,以及为什么需要dedupe方面非常有用。
https://stackoverflow.com/questions/56298766
复制相似问题