这些是构建高级Web应用程序所需的必需工具,插件,库和框架。
依赖关系是现代Web开发的基石。
这些工具为开发人员和项目经理带来了优化的工作流程。
随着时间的流逝,开发人员已经采用了依赖项管理工具,以减轻保持依赖项组织和最新的压力 。
在过去的几年中,依赖的数量激增。
专业的Web开发需要不断学习,我认为依赖性管理是一个值得学习的技能。
我在这里列出了最好的依赖工具,包括完善的和新兴的平台。
1. NPM
该系统基于Node.js构建,可为100,000多个软件包和模块的庞大存储库提供支持。
如果不感谢Node Package Manager的话,我不能写这个指南。

您可以使用从package.json文件中自动提取的依赖文件和版本号来构建新项目。
依赖关系可以直接从终端进行更新和优化 。
每个项目都可以通过NPM使用package.json文件设置,甚至可以通过Gulp (在Node上)进行管理。
如果您感到困惑,请查看此Reddit主题以获取初学者的解释。
NPM不仅对依赖管理很有用,而且对于现代Web开发而言,它实际上是必不可少的工具。
2.凉亭
包管理系统Bower在NPM上运行,这似乎有点多余,但是两者之间有区别,特别是NPM提供了更多功能, 而Bower的目的是减少前端依赖项的文件大小和加载时间 。
查看此Stack问题,以了解有关细微差异的更多信息。

一般来说,这没错。
一些开发人员认为Bower基本上已经过时,因为它运行在NPM上,该服务几乎可以完成Bower可以做的所有事情。
我推荐Ben McCormick的文章Is Bower有用,以了解有关这两种软件包管理工具所提供价值的更多信息。
但是开发人员应该意识到Bower可以专门针对前端依赖项优化工作流程 。
3. RubyGems
该项目是开源的 ,包含所有免费的Ruby gem。
RubyGems是Ruby的软件包管理器,在Web开发人员中非常流行。
这可能导致诸如Bundler之类的程序可以管理gem版本并保持所有更新。
为了给初学者简要概述 ,“ gem”只是在Ruby环境中运行的一些代码 。

只需很少的学习过程,就可以将前端包管理带到Ruby平台。
由于Ruby是开源的,因此开发人员可以构建Bower for Rails之类的项目。
Rails开发人员会喜欢这个功能,但是前端软件包呢?
4. RequireJS
它可用于快速加载JS模块(包括Node模块) 。
RequireJS有一些特殊之处,它主要是一个JS工具集。
RequireJS可以根据您所使用的内容自动检测所需的依赖项 ,因此这可能类似于C / C ++中的经典软件编程,在C / C ++中,其他库中都包含库。

如果它对您有用,那就很重要。
尽管已经出现了诸如webpack之类的其他JS管理工具,但RequireJS仍然可以在生产环境中使用。
您将找到有关此主题的有趣的GitHub讨论及其对现代Web开发人员的价值。
5.果酱
这是一个JavaScript包管理器,具有类似于RequireJS的自动管理功能。
JamJS提供了一种基于浏览器的软件包管理新形式。
另外,无论您使用什么其他工具(例如RequireJS),都可以在浏览器中更新这些文件。
您所有的依赖项都放入一个JS文件中,可让您快速添加和删除项目。

每个项目都可以根据您的需要 使用优化的组件自动创建 。
图书馆通过终端根据最新版本进行更新。
6. Browserify
这是另一个依赖管理工具,它通过将所需的模块和库捆绑在一起来优化它们。
即使不是典型工作流程的一部分,大多数开发人员也了解Browserify 。
您只需要NPM即可开始,然后使用Browserify即可开始。
这些捆绑软件在浏览器中受支持,这意味着您可以使用纯JavaScript包含和合并模块 。

这个想法是将所有这些Node工具带到浏览器中,并通过使用Browserify自动化过程来节省时间。
GitHub上还免费提供一本冗长的Browserify手册 。
查看此介绍性教程,以了解如何在浏览器中直接管理Node。
7. Mantri
依赖关系通过名称空间进行管理,并在功能上进行组织,以避免冲突并减少混乱 。
MantriJS仍处于增长的早期阶段, 它是用于中高级Web应用程序的依赖系统。

Mantri旨在遵循模块化编程实践,并希望鼓励开发人员走同样的道路。
它是完全开源的,并且针对需要大量依赖项的更复杂的Web应用程序而构建 。
撰写本文时,Mantri当前为v0.2.2。
8.沃洛
项目管理工具volo是一个开源NPM回购,可以创建项目,添加库和自动化工作流。
例如,如果您运行命令volo create ,则可以附加任何库,例如HTML5 Boilerplate。
可以在GitHub上找到简短的介绍性指南,以说明安装过程和常用用法。
Volo 在Node内部运行,并依靠JavaScript进行项目管理 。

查看volo的设计目标,以了解其在现实世界项目中的运作方式。
Volo结合了前端开发所需的一切。
但是除了创建新项目之外,您还可以为旧项目添加/更新库 。
9.恩德
开发团队将Ender视为“ NPM的妹妹”。
它允许开发人员搜索JS软件包并直接从命令行安装/编译它们 。
Ender是“无库图书馆”,是您在网上可以找到的最轻便的软件包管理器之一。

一切旨在让前端开发人员的工作流程轻松发挥最大潜力。
它只是安装的一个工具,用于帮助管理本地项目的前端JavaScript框架的使用 。
Ender主网站上有高质量的文档 ,如果您有兴趣的话,值得一眼。
10.点
该工具是由Python Packaging Authority创建的,就像Python本身一样,它是完全开源的。
推荐的安装Python依赖项的方法是通过pip 。

无论您是刚开始使用Python还是已经在后端开发中始终使用它,这都是一个程序包管理器,您将很高兴在工具箱中拥有它。
大多数Python开发人员建议使用pip作为依赖项,包括Django团队 。
11.作曲家
您可以在Packagist上找到依赖项列表,其中包括大型PHP框架(如Laravel) 。
Composer是与NPM非常相似的软件包管理器,但它仅专注于PHP库。
但是,随着实践的发展,它将成为PHP开发项目的主要内容。
它很容易上手,但很难适应您的工作流程。
如果您是任何类型的PHP开发人员 ,我都建议您认真研究Composer。

另外,NPM可以与Composer结合使用 ,为所有PHP / JS项目创建前端+后端依赖管理系统。
这是一种多功能工具,具有随着时间增长甚至更大的潜力。
包起来
有些是为解决其他问题而构建的,甚至可以相互串联运行(即Composer和NPM)。
显然,这些依赖管理器中有许多具有相似的特性和相似的品质。
尝试构建小型Web应用程序,并了解为什么依赖管理很有用。
我建议选择其中一种工具,并进行深入研究以尽可能多地学习。
对于新开发人员而言,依赖管理的主题可能很难。
一旦您了解了如何将这些工具应用到您的工作流程中,您将永远不会再考虑返回。
翻译自: https://www.hongkiat.com/blog/manage-dependencies-tools-webdev/