JointJS 依赖管理问题
JointJS Dependency Management Issue
我将 JointJS 用作 NPM 包,它工作正常。我的问题是管理它的依赖关系。现在,它在自己的 node_modules 文件夹中创建了自己的 jquery 文件夹。它正在使用 jQuery,但我在顶级 node_modules 文件夹中将 jQuery 作为 JointJS 旁边的 "top level" 文件夹。
如何让 JointJS 使用顶级 jQuery 以便我可以删除 JointJS 中的 jquery 文件夹?
ProjectFolder
node_modules
jointjs
node_modules
jquery (want to delete)
jquery
简短的版本是 运行 npm dedupe
完成 npm install
之后
这将扫描您的依赖项树和 lift/point 嵌套依赖项到位于您的依赖项树顶层的依赖项 它可以。
我说"where it can"是因为能够做到这一点需要你的package.json
中定义的jQuery版本满足限制在 JointJS 的 package.json
中定义的 jQuery 版本。例如,JointJS requires jQuery 3.3.1 的 v2.2.1。如果您的 jQuery 版本完全偏离此 ,npm dedupe
将不会删除嵌套的 jQuery 依赖项。
还要记住,您应用程序中的其他包可能有它们自己的 jQuery 版本,这也可能与 jQuery 最终出现在您的顶层中的内容交互。
在某些情况下,JointJS 中的 jQuery 将保持嵌套,因为它 必须 保持嵌套以满足应用程序的所有依赖性和限制。
这个 blog post 非常有用,可以帮助我理解 npm 的依赖项解析是如何工作的,以及为什么需要 dedupe
。
我将 JointJS 用作 NPM 包,它工作正常。我的问题是管理它的依赖关系。现在,它在自己的 node_modules 文件夹中创建了自己的 jquery 文件夹。它正在使用 jQuery,但我在顶级 node_modules 文件夹中将 jQuery 作为 JointJS 旁边的 "top level" 文件夹。 如何让 JointJS 使用顶级 jQuery 以便我可以删除 JointJS 中的 jquery 文件夹?
ProjectFolder
node_modules
jointjs
node_modules
jquery (want to delete)
jquery
简短的版本是 运行 npm dedupe
完成 npm install
这将扫描您的依赖项树和 lift/point 嵌套依赖项到位于您的依赖项树顶层的依赖项 它可以。
我说"where it can"是因为能够做到这一点需要你的package.json
中定义的jQuery版本满足限制在 JointJS 的 package.json
中定义的 jQuery 版本。例如,JointJS requires jQuery 3.3.1 的 v2.2.1。如果您的 jQuery 版本完全偏离此 ,npm dedupe
将不会删除嵌套的 jQuery 依赖项。
还要记住,您应用程序中的其他包可能有它们自己的 jQuery 版本,这也可能与 jQuery 最终出现在您的顶层中的内容交互。
在某些情况下,JointJS 中的 jQuery 将保持嵌套,因为它 必须 保持嵌套以满足应用程序的所有依赖性和限制。
这个 blog post 非常有用,可以帮助我理解 npm 的依赖项解析是如何工作的,以及为什么需要 dedupe
。