javascript - 是否可以在我自己的项目中使用另一个包中的 npm 依赖项?

标签 javascript node.js webpack dependencies package.json

我有一个 node.js 项目。在这个项目中,我有依赖项 A 和依赖项 B,我还注意到它的依赖项内的依赖项 A 具有依赖项 B code>,所以我的问题是我应该安装依赖项 B 还是我可以从依赖项 A 使用它?

最佳答案

你可以,但是...

如果依赖项 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 文件夹中。

框架/库

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

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

关于javascript - 是否可以在我自己的项目中使用另一个包中的 npm 依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70753175/

相关文章:

javascript - 使用 <button> 标签选择性提交表单不起作用

javascript - XUL Richlistbox选择问题

javascript - 如何降级Webpack版本?

javascript - 我可以从相对路径提供 create-react-app Assets 吗

webpack - 使用 webpack 和 React × 变成 × 并缩小

javascript - 为什么 WeakSet 不能和 Symbol 一起使用?

javascript - 为各种 SVG 重用 SVG.js 代码

node.js - RethinkDB:​​从游标中仅获取一条记录

node.js - Nodejs 在 chokidar 的 watcher.on('change) 返回空字符串后打印 fs.readfile 数据

reactjs - 与 Gatsby 一起在 Storybook 中编译 SCSS