模块 vs. 依赖 vs. 库 vs. 包 vs. 组件
Posted
技术标签:
【中文标题】模块 vs. 依赖 vs. 库 vs. 包 vs. 组件【英文标题】:Module vs. Dependency vs. Library vs. Package vs. Component 【发布时间】:2018-06-18 20:20:56 【问题描述】:我知道包包含多个模块,但我开始对包和模块是否是依赖项感到困惑。此外,对我来说,库可能看起来像是您通过 NPM、Nuget、RubyGems、Bower、Homebrew 或 Chocolatey 安装的软件包。库包也是如此吗?依赖项是您需要在应用程序中加载以具有特定功能的东西,但某些库(jQuery)不是被视为依赖项吗?那么是的,这些概念之间有什么区别?
【问题讨论】:
也许有固定的定义,但这也是个人解释的问题,所以我认为它是一个库的方式是一个包的集合,其中一个包是一个模块的集合,一个模块是一个组件的集合...现在,依赖项是其中一段代码依赖于另一段代码的任何事物中的任何一个。在 nodejs 术语中可能有特定的定义,但这就是我在一般情况下将其分解的方式 @mad.meesh 感谢您的建议。 @mad.meesh 听起来像是答案 【参考方案1】:库只是任何人都可以使用的一堆代码。例如,React.js 是一个用于构建前端组件的 javascript 库。
如果我决定在我的应用程序中使用这个库,那么 React 将成为我的应用程序所依赖的模块之一(又名库的安装实例)。因此,依赖项几乎是您的应用所依赖的所有库,以便按照您期望的方式运行。
我问过你关于依赖项的同样问题,我了解到这是一个理解这些术语如何相互关联的问题,而不是为每个术语找到孤立的定义。
希望这会有所帮助!
【讨论】:
【参考方案2】:基本上,包是一个包含一些功能的包,可以满足您应用的某些功能。
一旦您使用 npm 安装任何软件包,该软件包就会作为 依赖项 安装在您的 package.json 文件中的应用中它的 modules(又名 libraries 由类组成)存储在 node_modules 文件夹中。
我希望它现在清楚了。
【讨论】:
所以像 React 这样的包又名依赖项进入 package.json,而模块(您使用的那些库的一部分进入 node_modules 文件夹)? @cheznead 完全正确!以上是关于模块 vs. 依赖 vs. 库 vs. 包 vs. 组件的主要内容,如果未能解决你的问题,请参考以下文章