webpack 4是否会消除已被webpack捆绑的npm包中的重复数据?
我见过其他类似的问题。我看到的问题是在Webpack4发布之前提出的,没有具体询问npm,也没有得到明确的回答 假设我使用webpack捆绑包含依赖项的包,我不想将这些依赖项归类为webpack外部依赖项和npm对等依赖项。然后我将这个包发布到npm 有人下载我的软件包并将其作为项目的一部分使用。该项目已经包含我的包的一个依赖项。让我们假设这个项目是由webpack捆绑的 1.)捆绑项目时,webpack是否会识别并消除重复依赖项 2.)如果不是,并且如果我不使用webpack捆绑我的npm包,它会允许webpack在捆绑项目时重复删除重复的依赖项吗webpack 4是否会消除已被webpack捆绑的npm包中的重复数据?,npm,webpack,webpack-4,Npm,Webpack,Webpack 4,我见过其他类似的问题。我看到的问题是在Webpack4发布之前提出的,没有具体询问npm,也没有得到明确的回答 假设我使用webpack捆绑包含依赖项的包,我不想将这些依赖项归类为webpack外部依赖项和npm对等依赖项。然后我将这个包发布到npm 有人下载我的软件包并将其作为项目的一部分使用。该项目已经包含我的包的一个依赖项。让我们假设这个项目是由webpack捆绑的 1.)捆绑项目时,webpack是否会识别并消除重复依赖项 2.)如果不是,并且如果我不使用webpack捆绑我的npm包,
3.)这些方面的最佳实践是什么?如果您已经分发了一个由webpack捆绑的文件,其中包含所有依赖项,则不需要声明依赖项或对等依赖项 1.)捆绑项目时,webpack是否会识别并消除重复依赖项 对 3.)这些方面的最佳实践是什么
发布带有外部和对等依赖项的捆绑包,并让捆绑包发生在用户端。因此,对于3。)最佳实践,如果我与webpack捆绑,所有依赖项都应该是外部/对等依赖项?如果我有5个不常见的依赖项呢?每次有人使用我的软件包时,他们必须下载全部5个,以避免重复?这似乎很奇怪。当人们安装您的软件包时,您不常见的依赖项将被下载。那么webpack在另一方面会做得更好。发布已经绑定的依赖项一点也不坏。这实际上取决于你。谢谢你的帮助!所以你是说,如果我捆绑,它将重复数据消除。如果我没有绑定外部/对等依赖项,它将在用户下载我的npm包时自动安装其他依赖项?或者,用户需要手动下载对等依赖项?如果您捆绑或不捆绑,webpack将以任何方式进行重复数据消除。最常用的策略不是捆绑,而是让应用程序的使用者捆绑它。这并不意味着你不能捆绑,这取决于你。如果您想确保它在任何地方都能正常工作,您可以绑定,不管是什么。当您添加为依赖项时,当有人编写
npm install yourpackage
时,它会在您的package.json上的dependencies对象上安装所有依赖项。当您设置peerDependencies时,用户必须安装这些依赖项,它们不会自动安装。