首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在webpack中创建库时,应该有哪些对等依赖?

在webpack中创建库时,应该有哪些对等依赖?
EN

Stack Overflow用户
提问于 2017-04-26 21:30:52
回答 2查看 1.5K关注 0票数 1

我们正在创建可重用的react组件。每个组件都被包装成一个npm库,由webpack提供。这些库中的每一个都应该将其依赖项标记为对等依赖项,并期望应用程序在使用它时安装它们吗?或者,它们应该是常规依赖关系吗?在这种情况下-我们是否冒着重复节点模块的风险?一个很好的例子是react- 1。我们包装为lib的组件需要react 2。使用这个lib的应用程序要求react应该是lib中的对等依赖项或依赖项?

EN

回答 2

Stack Overflow用户

发布于 2017-04-26 21:54:28

React/ReactDOM肯定需要成为一个对等依赖项。如果在依赖项中设置,并且用户安装的版本与您指定的版本不同,则可能会发生不好的事情。

他们的项目最终可能会安装两个独立的react版本。这会对构建工具、代码编辑器和react本身造成严重破坏。

票数 2
EN

Stack Overflow用户

发布于 2017-04-26 22:17:55

那得看情况。对于像react这样的东西,你几乎总是希望它是一个对等依赖。这是因为

  • 如果要从另一个包中导入组件,则几乎必须自己使用react来呈现该组件。
  • 加载react的两个副本将导致错误。

因此,在这种情况下,您肯定希望使用对等依赖项来保护自己,避免在捆绑包中存在多个依赖项副本。

但是,对于其他依赖项,可能不需要这样做。例如,如果您有一个依赖项和您的应用程序都依赖于一个实用函数包,那么这两个应用程序只需将其作为常规依赖项就可以了。假设您使用^指定依赖项,您的包管理器(npm,yarn)将处理删除依赖项的工作,因此在构建时您最终得到两个副本的唯一方法是它们依赖于不同的semver主版本。如果您的应用程序和您的依赖项独立使用公共包,则应该没问题。

所以基本上,当你决定让某件东西成为对等依赖时,你要问自己的问题是,‘我是否需要防止这个包有两个不同的版本(使其成为对等依赖),或者如果有(正常依赖),可以吗?’

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43635703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档