框架/库
Angular –在其之上设计了最佳实践的完整框架。 这有点类似于基于MVC的Ruby on Rails。 Angular的问题包括学习曲线 ,它会更改实际的DOM(而非虚拟DOM),从而使其速度明显降低。 这仍然是仅次于React的第二大热门。
React —小视图库,而不是Angular 框架 。 它是列表中最受欢迎的,并且比Angular快得多。 该库的缺点是有时感觉就像一块空白画布。 它一直没有流行很久,而且由于它是一个图书馆,因此您需要依靠社区来帮助您制定公约和最佳实践。
Vue-在此列表中最容易学习的之一。 它肯定没有最多的功能,但可以吹嘘帮助新开发人员按时完成任务。 精简有助于速度和可用性。
骨干-轻量级MVP框架。 唯一的依赖关系是Underscore.js。 已知骨干要比Angular快得多。 骨干网的垮台与周围的社区有很大关系。 当Angular和React拥有一支核心开发团队和市场营销的资金时,Backbone由Jeremy Ashkenas编写和维护。 为了使Backbone成为稳定的JS框架(IMPOSSIBLE!),Jeremy声明Backbone在1.0版本之后就API和功能集而言已经完成。

编译器/任务执行器
Grunt(任务运行器)—该列表中第一个出现的是Grunt。 它是一个Node.js任务运行程序,它使用(最初)由JSON配置文件控制的插件。 Grunt取得了巨大成功,但是存在许多问题。 每一篇文章中遇到的问题是,随着任务变得更大或更复杂,缺乏灵活性。
Gulp(任务运行器)-第二种流行的工具包,用于定义和运行任务。 Gulps的主要区别是Grunt使用配置对象声明式地定义任务,而Gulp则将它们定义为JavaScript函数。 它也更快,更少的代码,总体上导致许多开发人员从Grunt迁移过来。
Webpack(编译器)-许多开发人员,尤其是React开发人员,都将Webpack用作其编译器,并且不使用上述任务运行程序之一。 Webpack旨在将我们所有的JavaScript文件合并为一个捆绑包。 这不仅有助于提高性能,而且比在我们的HTML中加载文件更容易使用。 根据项目的不同,结合使用Gulp和Webpack是一种常见的做法。
Browserify(编译器) —该编译器通常与Gulp一起使用,并且是城堡的王者。 随着Webpack人气的飙升,其人气已大大下降。 它的缺点是简单性。 您将陷入困境,需要像Gulp这样的自动化工具,该工具需要配置时间。

Babel(编译器)-将最近几个发行版中的代码,甚至是未发布的功能,转换为浏览器可以读取的代码。 它由小型模块化插件构建而成,这些插件均可以实现不同的目标,例如地面管理员-willie(删除调试器和控制台调用)并做出响应优化(Babel预设以优化React代码)。 很棒的Babel插件的github列表已缩小到仅50个!

资源资源
https://da-14.com/blog/gulp-vs-grunt-vs-webpack-comparison-build-tools-task-runners