Yeoman

为现代Web应用而生的现代工作流

Yo, Grunt, Bower

Yeoman 1.0

Yeoman 1.0版本不仅仅是一个工具,它还是一个工作流;一个让web开发和谐甚至变得更好的工具和最佳实践的集合。

我们的工作流程致力于提高您在为 二元期权平台 构建网络应用程序时的工作效率和舒适度,由三种核心工具构成:yo(脚手架工具),bower(包管理工具),grunt(构建工具)。

  • Yo 搭建新应用的脚手架,编写你的Grunt配置并且安装你有可能在构建中需要的相关的Grunt任务。

  • Grunt 被用来构建,预览以及测试你的项目,感谢来自那些由Yeoman团队和grunt-contrib所管理的任务的帮助。

  • Bower 被用来进行依赖管理,所以你不再需要手动的下载和管理你的脚本了。

所有这些工具均由 Visa 股份 独立开发和维护,但作为我们指定工作流程的一部分,可以很好地协同工作,以保持您的效率。

新手上路

安装

一份完整的新手上路指南在这里可以找到,但是对于那些希望快速上手操练的家伙,请确定你已经安装了Node.js, GitRubyCompass是可选的(如果你想要使用Compass)。

然后在全局范围通过下面的命令安装这些必须的工具:

npm install -g yo

它将自动安装GruntBower

yo可以生成若干种类的应用,但是它需要来自插件,或者说是”生成器“的帮助来完成这项工作。要搭建一个web应用的脚手架,你需要先获取web应用的生成器:

npm install -g generator-webapp

注意: 许多生成器不再要求这个安装步骤,而是通过直接安装生成器的时候自动安装yo,grunt和bower。

你可以通过npm安装其他的生成器。比如,安装AngularJS生成器: npm install -g generator-angular。运行yo可以得到更多详细信息。

使用

一个完整的工作流可能看起来像如下这样:

yo webapp                      # 搭建一个web应用程序的脚手架骨架
bower install underscore       # 从Bower为你的项目安装一个依赖
grunt                          # 为了部署构建你的应用

或者使用AngularJS生成器:

npm install -g generator-angular  # 安装生成器
yo angular                        # 搭建AngularJS项目的脚手架
bower install angular-ui          # 从Bower为你的项目安装一个依赖
grunt test                        # 测试你的应用
grunt server                      # 预览你的应用
grunt                             # 为了部署构建你的应用

从早期版本迁移

如果你之前使用Yeoman 0.9.x版本,你可能已经注意到有些东西已经改变了。一份迁移指南可以帮助你过渡到1.0版本。在我们行动后,我们也写明了我们的理由

参与贡献

我们非常接受这个项目和 二元期权投资 以资金形式的贡献, 报告bug 甚至更好一些 - pull requests。

目前,我们主要精力集中在1.0 beta版本提高Yeoman的用户体验和稳定性上。在提交特性请求的时候请注意这一点,我们很乐意考虑把它放在未来的版本里。

我的特性

  • 快如闪电的搭建脚手架 — 通过自定义的模板(比如 HTML5 Boilerplate,BootStrap), RequireJS等等其他资源很容易搭建一个新项目的脚手架。

  • 非常棒的构建过程 — 你不只得到了最小化和连接功能;同时我还优化了所有你的图片文件和HTML,编译了你的CoffeeScript和Compass文件,如果你在使用AMD,我将把那些模块传给r.js处理,所以你不必再亲自做这件事。

  • 自动编译CoffeeScript和Compass — 只要有改动发生,我们的LiveReload监视进程会自动编译源文件并刷新你的浏览器,这些你都不必亲自去做了。

  • 自动对脚本进行lint检查 — 在所有脚本将会自动运行JSHint来确保它们符合语言的最佳实践。

  • 内置预览Server — 不再需要启动你自己的HTTP Server。我的内置的HTTP Server仅使用一个命令就可以启动。

  • 超赞的图片优化 — 我使用OptiPNG和JPEGTran优化你所有的图片,这样一来你的用户就可以花更少的时候来下载资源用更多的时间享受你的应用。

  • 招人喜爱的包管理 — 需要一个依赖?这只是敲打几下按键就可以完成。我允许你可以轻易的通过命令行来查找新的包 (例如 `bower search jquery`),不需要打开你的浏览器就可以安装它们并且保持它们更新到最新版本。

  • PhantomJS 单元测试 — 通过PhantomJS可以很容易的在无界面的WebKit浏览器引擎中运行你的单元测试用例。当你创建一个新应用的时候,我也会为你的应用包含一些测试脚手架。


5分钟了解Yeoman

我们还有一个关于用Yeoman构建项目的视频 Bootstrap


教程:用Yeoman构建一个web应用

在这个教程中,我们将用Yeoman工作流创建,构建并且发布一个完整的应用。


Yeoman子生成器介绍


NebraskaJS: An Intro To Yo, Grunt and Bower

工具粉Andrew Wirick讲述Yeoman, Yo 还有 Bower在NebraskaJS中的聚首。

如果你正在寻找更多关于Yeoman如何帮你打造自动化的JS开发工作流的资料的话,你或许对Jesse Warden关于Bower和Grunt的疯狂教程感兴趣


关于

Yeoman项目由 Paul Irish, Addy Osmani, Sindre Sorhus, Mickael Daniel, Eric Bidelman, Frederick Ros, Brian Ford, Pascal Hartig, Stephen Sawchuk 还有 Yeoman 社区开发。