【问题标题】:Is it possible to use npm dependencies from another package in my own project?是否可以在我自己的项目中使用来自另一个包的 npm 依赖项?
【发布时间】:2022-01-18 18:21:11
【问题描述】:

我有一个node.js 项目。在这个项目中我有依赖A和依赖B,我也注意到它的依赖里面的依赖A有依赖B,所以我的问题是我应该安装依赖B还是我可以使用它来自依赖A ?

【问题讨论】:

    标签: javascript node.js webpack dependencies package.json


    【解决方案1】:

    你可以,但是...

    如果依赖项 A 不再依赖于 B 会发生什么?

    因此,您应该在代码中添加所需的所有包作为依赖项。

    编辑

    需要考虑的其他要点:

    您的代码已针对代码的 1.0.0 版本构建,A 已将所需的 B 版本升级到代码的 2.0.0。

    假设依赖项 B 遵循 SEMVER,则版本 1.0.0 和版本 2.0.0 之间将发生重大的重大更改。如果 B 不遵循 SEMVER,则可能随时应用重大更改。

    NPM(Yarn 和其他包管理器)会处理这个问题,并为不同的包和整个项目提供正确的版本。这意味着包 B 的 1.0.0 版将直接放在您的 node_modules 文件夹中,而包 B 的 2.0.0 版将放在包 A 的 node_modules 文件夹中。

    框架/库

    当包含库、框架等时,通常使用库/框架直接使用的包,即使您没有将它们放在参考中。

    这应该保持在最低限度,并且只根据库/框架文档,因为如果您需要升级库/框架(您应该经常这样做),它可能会导致复杂化。

    【讨论】:

    • 如果我使用依赖B 和版本2.0.0 和依赖A 使用依赖B 和版本1.0.0 会发生什么?会有什么影响?
    • @MykytaManuilenko 这是一个很好的观点,并且是引用所需软件包的另一个原因,无论您的其他依赖项需要什么。我已经修改了答案以进一步解释。
    猜你喜欢
    • 1970-01-01
    • 2020-05-28
    • 1970-01-01
    • 2019-01-24
    • 2021-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-03
    相关资源
    最近更新 更多