到目前为止 ,这个系列我们探讨了Bower, AngularJS, GruntJS, PhoneGap, Meteor, Ember和TimelineJS JavaScript技术。今天的30天挑战,我决定学习一款叫Yeoman的高效前端开发工具。本文,我们先了解Yeoman基础,然后用Yeoman开发一个Ember应用,这里不再讲EmberJS基础,你可参考第19天的博客。
什么是Yeoman?
Yeoman是一个开源的高效客户端开发工具,它集成了工具和框架,有助于开发者快速高效并遵循最好的用户体验构建web应用。它的灵感来自Ruby on Rails 概念。Yeoman包含三个工具:
- Yo: 一个基架工具,当你需要开始新项目时为你生成所有架构模板,它避免了样板代码,利于开始新项目和配置grunt任务。
- Grunt: 基于JavaScript的命令行构建工具,帮你自动完成需要重复的任务。你可以把它看作JavaScript的Make或者Ant. 它可以执行像压缩,编译,单元测试,代码审查等任务,详细内容参考第5天关于GruntJS的博客。
- Bower: 客户端包管理工具,可用作搜索,安装,卸载web资源如JavaScript, HTML和CSS. 它不是一款封闭的工具,为使用这种技术的开发者提供了大量选择。详细内容参考第1天关于Bower的博客。
我为什么关注Yeoman?
如果你要说服自己学习Yeoman, 可以看看它网站上whyyeoman部分。
前提准备
安装Yeoman之前先安装:
- Node: Yeoman需要NPM. NPM是一个node包管理,绑定在Nodejs安装中,所以,请从 http://nodejs.org 下载最新的node.js.
- Git: 需要git来从git仓库获取有些包的代码,所以,安装git.
安装Yeoman
准备条件做好后,你可以输入以下命令安装yeoman.
$ npm install -g yeoman
以上命令会全局安装yeoman, -g 代表全局安装,如果你还没装Grunt和bower, 这也会给你安装好。
安装Yeoman Ember Generator
Yeoman依赖Generators完成web基架,对现代JavaScript MV*框架有多种generators, 我们用Ember generator. NPM用于安装generators.
$ npm install -g generator-ember.
程序用例
本文我们开发个网摘程序允许用户发布和分享链接,你可以查看在线程序,和第19天的一样,可以参考之前的用例来了解。
Github仓库
今天的demo放在 github: day24-yeoman-emberjs-demo.
创建Ember程序
讲完基础后我们来开始开发程序。
在机器上新建目录,更改程序目录。
$ mkdir getbookmarks
$ cd getbookmarks
然后运行yo ember, 它会问你是否想用Twitter Bootstrap, 一般我的程序都用它,所以我输入Yes.
$ yo ember _-----_ | | |--(o)--| .--------------------------. --------- | Welcome to Yeoman, | ( __ ) | ladies and gentlemen! | /___A___\ '__________________________' | ~ | __'.___.'__ [?] Would you like to include Twitter Bootstrap for Sass? Yes