使用表情符号?♂️?♀️的节点依赖性之间的差异

节点依赖关系有不同的形式: 依赖devDependenciespeerDependenciesbundleDependenciesoptionalDependencies

我们将在这篇博文中解决前三个问题,这些问题对我们最感兴趣,但我会简要解释一下 bundleDependeciesoptionalDependencies 是。

  • bundleDependencies:如果运行npm pack,这些依赖项是与库一起捆绑的依赖项。来自人们@npm自己:

“这定义了一个包名称数组,这些包名称将在发布包时捆绑在一起。”

  • optionalDependencies:是依赖项,它们是可选的。我会让自己离开?。如果无法找到,则此处安装的依赖项不会使您的库安装失败。我认为它们是依赖项的备用版本而不是那么严格。来自你的朋友@npm:

“如果可以使用依赖项,但是如果无法找到或无法安装,则希望npm继续,那么您可以将它放在optionalDependencies对象中。”

?请记住,您必须指定依赖项或可选依赖项,但不能同时指定?

“optionalDependencies中的条目将覆盖依赖项中相同名称的条目,因此通常最好只放在一个位置。”

有了这个,让我们开始讨论节点给我们的其他三种依赖关系。

如果你遇到过 的package.json 在你的编程日,你可能已经看过了 依赖devDependencies 和/或甚至可能是他们的表兄弟 peerDependencies 对象,a.k.a?Dependencies。

……得到它,得到它?…因为它听起来像?……好吧,我现在就停止……?

最后一个,当您尝试安装x包时,通常会出现警告的风格。通常采用以下形式:

包'x'的未满足的peerDependency为'y@1.0.0'

您可能想知道,这些事情甚至是如何相关的?让我们通过创建我们自己的“制作汉堡?”库来看看它们中的所有三个。

//伪package.json与一些emojis {“name”:“制作一个汉堡”,“版本”:“1.0.0”,“描述”:“?lib”,“main”:“index.js” ,“作者”:“?♂️”,“许可证”:“MIT”,“依赖”:{“?”:“meat@2.0.0”},“devDependencies”:{“?”:“egg- yolk@1.OO“},”peerDependencies“:{”?“:”> = bread@1.x“}} 

实际上,这可以转化为……

  • 依赖:嘿,为了使这个?库(a.k.a运行一个汉堡)你必须有?手头。图书馆在它上面运行……(当然,除非你正在制作素食汉堡??)。

一个很好的例子就是这样的 VUE应对反应母语eslint (如果制作可共享的eslint-config文件)等。

  • devDependencies:哟,在开发时你最好有一个?手头,因为这样可以简化这个过程…(并为你的食物赋予味道?……如果你不做正确的话,可能还有沙门氏菌……?)。

处理原始代码的修改/操作/测试的包是这种依赖的一个很好的例子: @通天/ *的WebPack笑话

  • peerDependencies:bro / bro-ette(…??),不要试图使这个?库没有一些?也在等于或大于版本1.x …(版本无麸质,正常,整体 – 好吧……好吧,这个实际上是一个非常糟糕的笑话)。

最后一个是最有趣的一个。我们指定 peerDependencies 让您的库的用户知道他们必须安装此另一个依赖项的最低版本,因为整个库在它们上运行。换一种说法:

包'x'还取决于安装包'y @ 1'。

只是做一个完整的循环,?如果我们要添加 optionalDepedenciesbundleDependencies 到这个图书馆他们将采取以下形式:

{“name”:“制作汉堡”,“版本”:“1.0.0”,“描述”:“?lib”,“main”:“index.js”,“作者”:“?♂ ️“,”license“:”MIT“,”依赖“:{”?“:”meat@2.0.0“},”devDependencies“:{”?“:”egg-yolk@1.OO“},” peerDependencies“:{”?“:”> = bread@1.x“}”optionalDependencies“:{”?“:”lettuce@3.2.x“},”bundleDependencies“:(”?“,”?“)} 

我想就是这样,我希望这对我们有所帮助,或者至少是有趣的。

如果你想了解更多关于节点依赖关系和package.json里面的所有好东西,不要忘记看看npm-docs,因为它充满了有用的信息。

感谢阅读,如果不清楚,请给我发表评论。欢迎所有反馈。

注意:当我写完这篇文章时,我意识到这是一个更好的例子 devDependencies 本来应该是绞肉机(?),但我找不到表情符号?。

资讯来源:由0x资讯编译自DEV,原文:https://dev.to/intercoder/difference-between-node-dependencies-using-emojis-43ne ,版权归作者所有,未经许可,不得转载
你可能还喜欢