一般在開發新項目時咱們都須要配置工程環境,開發目錄,須要下載一些庫、框架文件(如 jQuery、Backbone 等),配置編譯環境(Less、Sass、Coffeescript等),甚至還要配置單元測試框架,過程很是繁瑣,還沒開始編碼時間就耗了大半天。爲了解決這個問題 Paul Irish、Addy Osmani、Sindre Sorhus、Mickael Daniel、Eric Bidelman 和 Yeoman 社區共同開發的一個項目——Yeoman。css
Yeoman 是由三個工具的組成:YO、GRUNT、BOWERhtml
YO:Yeoman核心工具,項目工程依賴目錄和文件生成工具,項目生產環境和編譯環境生成工具。
GRUNT:前端構建工具,jQuery就是使用這個工具打包的。
BOWER:Web 開發的包管理器,概念上相似 npm,npm 專一於 NodeJs 模塊,而 bower 專一於 CSS、JavaScript、圖像等前端相關內容的管理。前端
Yeoman 特性:html5
安裝好 Yeoman 後,就能夠經過命令來新建工程,首先新建一個工程目錄,好比 demo,首先建立 demo 目錄而後在該下鍵入命令:jquery
yo webapp
這時 Yeoman 會詢問一些配置設置(這裏所有選擇了 Yes),以後就開始自動建立工程。web
工程建立完畢後就能夠看到 demo 目錄下已經生成了許多目錄及文件,這時開發所需的環境就搭建好了,能夠開始編碼了。npm
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
Yeoman 內置 Node 服務。啓動命令:grunt server
服務器
服務啓動後會自動打開瀏覽器訪問http://localhost:9000/
(端口號能夠在 gruntfile.js 中配置),而後工程服務會監聽工程目錄下的預編譯文件,一旦發生改變就自動編譯並刷新瀏覽器。好比咱們修改工程下的 main.scss 文件,工程服務就會開始運做:
Yeoman 內置 mocha 測試框架,在 PhantomJS 環境下進行測試,測試命令:grunt test
運行完畢後能夠在工程裏的 test 目錄找到測試報告。
至此 Yeoman 的部署就完成了。接下來就是自定義一套工程模板。