Yeoman由三部分组成
- Yo 用于项目构建。
- Grunt 用于项目管理,任务制定。
- Bower 用于项目依赖管理。
经过一段时间的使用,对这些东西有了一些个人总结:
总体上说这些内容学习曲线略高,不太适合团队每个成员去维护,它属于前端架构师一类的人来使用去管理项目的整个结构。
- Yo
- 用来构建项目,既可以生成整个项目目录(这部分工作应该由架构师来完成),也可以通过脚手架来生成一些模块,通过它可以减少手工创建文件的时间,这也是我认为Yeoman中唯一适合团队中成员使用的工具。
- Grunt
- 不得不说它的配置文件很繁琐,相信这也是其难以使用的关键。Grunt的插件有很多,除了一些基本的插件,由于各个项目的差异性,你并不容易从中查到适合自己的插件,很有可能需要自己来写你需要的插件。
- Grunt控制的是整个app的任务,在任务分工上比较单一,模块化概念比较弱,如果想划分一些模块,让团队中的每个成员都能够控制自己模块的开发与测试比较难。这也就意味着会有一个人(或者是架构师)能够统一把握这些内容。项目模块少还好说,一旦有点规模就会难以管理。
- Grunt的任务概念确实很优秀,对于前端的测试发布提供了很好的支持,但是我也认为Grunt的使用难度确实不小,尤其是如何合理的构建任务队列。
- Bower
- 这个工具在项目中所起的作用我认为可以忽略,因为JS库的管理是很细节很固定的,而且一旦使用很少去变动版本。这个工具并不会给团队工作带来多少帮助。