模块 vs. 依赖 vs. 库 vs. 包 vs. 组件

10

我了解包含多个模块的包,但我开始混淆包和模块是否是依赖项。而且,对我来说,库似乎是通过NPM、Nuget、RubyGems、Bower、Homebrew或Chocolatey安装的包。那么库是包吗?依赖是您需要在应用程序中加载的内容,以获得特定功能,但某些库(如jQuery)不是被视为依赖项吗?那么,这些概念之间有什么区别呢?


1
也许有一些固定的定义,但这也涉及到个人的解释,我认为一个库是由多个包组成的集合,其中一个包又是由多个模块组成的集合,而一个模块则又是由多个组件组成的...现在,依赖关系就是这些东西中的任何一项,其中一段代码依赖于另一段代码。在 Node.js 的术语中,也许有特定的定义,但这是我如何将其简化为通用情况的方式。 - mad.meesh
@mad.meesh 谢谢你的建议。 - Jake_West
@mad.meesh听起来像是答案。 - Adam
2个回答

7

基本上,一个是一个具有某些功能的打包工具,用于实现您应用程序的某些功能。

一旦您使用npm安装了任何包,那么该包就会作为依赖项安装在您的应用程序中,存储在您的package.json文件中,并与其模块(又称为,由类组成)一起存储在node_modules文件夹中。

我希望现在清楚了。


那么像 React 这样的包或依赖项会被放入 package.json 文件中,而你使用的库的部分模块则会被放入 node_modules 文件夹中? - cheznead
@cheznead 没错! - Ibad Shaikh
@cheznead;实际上,只有在系统/应用程序中安装和/或需要时,软件包才成为依赖项。 - Mo. Atairu

7

库就是一堆任何人都可以使用的代码。例如,React.js 是一个用于构建前端组件的 JavaScript 库。

如果我决定在我的应用程序中使用这个库,那么 React 将成为我的应用程序依赖的模块之一(也称为库的已安装实例)。因此,依赖项基本上是您的应用程序所依赖的所有库,以便按照您期望的方式运行。

我曾经问过关于依赖项的相同问题,我了解到这是理解这些术语之间如何相关而不是找到每个术语的孤立定义的问题。

希望这能有所帮助!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接