我看到有类似的问题。但我所看到的问题是在WebPack 4发布之前提出的,未特别涉及npm,且没有明确答案。
假设我使用webpack打包一个包含依赖项的软件包,并且不想将这些依赖项归类为webpack externals和npm peer dependencies。然后我将此软件包发布到npm上。
某人下载我的软件包并将其用作项目的一部分。该项目已经包含了我的软件包的某个依赖项。假设该项目反过来又被webpack打包。
1.) 当项目被打包时,webpack是否会识别和去重重复依赖项?
2.) 如果不行,并且我不使用webpack来打包我的npm软件包,那么当项目被打包时,它会允许webpack去重重复依赖项吗?
3.) 在这方面的最佳实践是什么?
npm install yourpackage
时,它会在你的package.json中的dependencies对象上安装所有依赖项。当你将其放置在peerDependencies上时,用户必须安装这些依赖项,它们不会自动安装。 - PlayMa256