前端工程构建工具——Yeoman

一、Yeoman 简介

便以开新路时我们还亟需配备工程环境,开发目录,需要下载一些库房、框架文件(如
jQuery、Backbone
等),配置编译环境(Less、Sass、Coffeescript等),甚至还要配置单元测试框架,过程格外麻烦,还尚无起编码时间虽淘了大多龙。为了缓解者问题
Paul Irish、Addy Osmani、Sindre Sorhus、Mickael Daniel、Eric Bidelman 和
Yeoman 社区共同开发的一个型——Yeoman。

 

Yeoman 是由于三只器的重组:YO、GRUNT、BOWER

YO:Yeoman核心工具,项目工依赖目录及文书生成工具,项目生产条件与编译环境变化工具。

GRUNT:前端构建工具,jQuery就是采用此家伙打包的。

BOWER:Web 开发之管管理器,概念上看似 npm,npm 专注于
NodeJs 模块,而 bower 专注让
CSS、JavaScript、图像等前端相关内容的田间管理。

Yeoman 特性:

  • 迅速创建骨架应用程序——使用可自定义的模板(例如:HTML5、Boilerplate、Twitter
    Bootstrap等)、AMD(通过RequireJS)以及任何工具轻松地开创新类型的架。
  • 自动编译 CoffeeScrip 和
    Compass——在做出改变的当儿,Yeoman 的 LiveReload
    监视进程会活动编译源文件,并刷新浏览器,而无需你手动执行。
  • 电动到而的剧本——所有脚论都见面活动对 JSHint
    运行,从而确保它们以语言的特等实践。
  • 内建的预览服务器——你莫需要启动自己的 HTTP
    服务器。内建的劳务器用一修命令就足以启动。
  • 杀深的图像优化——使用 OptPNG 和
    JPEGTran 对具备图像做了优化。
  • 生成 AppCache 清单——Yeoman
    会为您转移应用程序缓存的清单,你只是待构建项目就哼。
  • “杀手级”的构建过程——你所做的做事不仅被简单到极致少,让您更加在意,为卿节省大量行事。
  • 合的担保管理——Yeoman
    让你可通过命令行轻松地找新的管,安装并维持更新,而未需你打开浏览器。
  • 针对ES6模子片语法的支持——你可采取最新的 ECMAScript 6
    模块语法来编排模块。这还是平等栽实验性的特性,它见面吃移成为
    eS5,从而你可于具有流行的浏览器被以编写的代码。
  • PhantomJS单元测试——你得通过
    PhantomJS
    轻松地运作单元测试。当您创造新的应用程序的早晚,它还会见吧而活动创建测试内容之骨。

二、安装

此处为 OSX 上之设置为条例,先来拘禁下 Yeoman
的装环境要求:

  • NodeJS >= 0.8.x
  • Ruby >= 1.8.7
  • Compass >= 0.12.1
  • optipng
  • jpegtran
  • PhantomJS >= 1.6

于 OSX 上 Ruby
是放到的,所以就待手动配置下其他服务:

  • NodeJS 安装请直接去官网下载 .pkg
    安装包进行安装(Homebrew 安装之 NodeJS 会有问题,无法运转 Yeoman
    命令)
  • Compass 可以以 Ruby
    自带的保险管理工具安装:
      $gem install compass
    • 另外的
      optipng、jpegtran、PhantomJS 可以通过 Homebrew 安装,如果已安装了
      Xcode 那么 Xcode CLI Tools 就曾经放开。

起来安装 Yeoman:

npm install -g yo grunt-cli bower

遇到权限问题要加sudo

设置了后,会看到以下提示:

 

三、使用

1、创建工程

设置好 Yeoman
后,就足以经过命令来新建工程,首先新建一个工程目录,比如 demo,首先创建
demo 目录然后以该下键入命令:

yo webapp

这 Yeoman 会询问有安排安装(这里全挑了
Yes),之后虽开始自行创建工程。

 

工程创建了后就可以看到 demo
目录下一度变化了过多目录及文件,这时出所欲的环境就大增建筑好了,可以初步编码了。

 

webapp 其实是 Yeoman 内置的工模板,它结合了 html5
Boilerplate、jquery、Modernizr、Bootstrap、RequireJS
等框架或库文件,使我们创建了后就是会直接使用。除了generator-webapp
还有一个
generator-mocha、generator-backbone、generator-angular等工程模板,可以经npm search yeoman-generator命令查找,然后使npm install [name]来安装。

假设工程被需要其他类库,也得使命令方便的丰富,例如添加
underscore:

bower install underscore

2、启动工程服务

Yeoman 内置 Node 服务。启动命令:

 grunt server

服务启动后会活动打开浏览器访问http://localhost:9000/(端口号可以在
gruntfile.js
中布置),然后工程服务会监听工程目录下之预编译文件,一旦发生改变就是自动编译并刷新浏览器。比如我们修改工程下的
main.scss 文件,工程劳务就见面开始运行:

 

3、运行测试框架

Yeoman 内置 mocha 测试框架,在 PhantomJS
环境下进行测试,测试命令:

grunt test

 

运行了后好以工程里的 test 目录找到测试报告。

时至今日 Yeoman
的配备就完了了。接下来就是是自从定义一仿照工程模板。

参照文章

http://yeoman.io/index.html

http://www.36ria.com/6144