webpack 4 是否重复删除了已经被 webpack 捆绑的 npm 包?

Does webpack 4 dedupe npm packages that have, in turn, already been bundled by webpack?

我看过其他类似的问题。我看到的问题都是在Webpack 4发布之前问的,没有专门问npm,也没有得到明确的回答。

假设我使用 webpack 来捆绑一个包含依赖项的包,并且我不想将这些依赖项归类为 webpack 外部依赖项和 npm 对等依赖项。然后我将这个包发布到 npm。

有人下载了我的包并将其用作项目的一部分。该项目已经包含我的包的依赖项之一。假设这个项目反过来被 webpack 打包。

1.) webpack会不会在项目打包时识别重复依赖并去重?

2.) 如果不是,如果我不使用 webpack 来打包我的 npm 包,它是否允许 webpack 在打包项目时删除重复的依赖项?

3.) 这些方面的最佳实践是什么?

如果您已经在分发​​由 webpack 与所有依赖项捆绑在一起的文件,则无需声明依赖项或 peerDependencies。

1.) Will webpack recognize and dedupe the duplicate dependencies when the project is bundled?

3.) What are best practices along these lines?

发布带有外部和对等依赖项的捆绑包,让捆绑发生在用户端。