Reactjs 共同依赖

Reactjs 共同依赖,reactjs,webpack,package,npm-install,bundling-and-minification,Reactjs,Webpack,Package,Npm Install,Bundling And Minification,我有一个库a,依赖于库C版本“X” 库A也依赖于库B 库B依赖于库C版本“Y” 使用webpack打包库A时,将打包库C的哪个版本?决定你问题答案的逻辑顺序是动态的,因此它取决于许多因素。然而,一般而言,它如下所示: 您的包装经理(NPM、纱线等)将是第一个介入的对象。依赖关系树将被遍历,所有模块将被分布在不同的级别上,这取决于模块之间的关系,显然还考虑到每个包允许的版本。此步骤可能已经删除了重复的依赖项(即使在不同的位置需要两个不同的版本。如果找到一个通用的有效版本,将改用它) 如果找不到通用

我有一个库a,依赖于库C版本“X”

库A也依赖于库B

库B依赖于库C版本“Y”


使用webpack打包库A时,将打包库C的哪个版本?决定你问题答案的逻辑顺序是动态的,因此它取决于许多因素。然而,一般而言,它如下所示:

您的包装经理(NPM、纱线等)将是第一个介入的对象。依赖关系树将被遍历,所有模块将被分布在不同的级别上,这取决于模块之间的关系,显然还考虑到每个包允许的版本。此步骤可能已经删除了重复的依赖项(即使在不同的位置需要两个不同的版本。如果找到一个通用的有效版本,将改用它)

如果找不到通用的有效版本,那么同一软件包的不同版本将位于树的不同级别(它们将具有相同的名称,但路径不同),随后Webpack将它们视为不同的模块

但是,这些不同模块的常见依赖项将根据网页包配置进行重复数据消除

长话短说,确保有许多层的算法,其唯一目的是优化您的最终包。库C版本“X”和库C版本“Y”不会同时出现,除非这是绝对必要的,并且不会重复常见的依赖关系