天天看點

Grunt+bower 環境搭建

目前負責的官網采用Grunt+bower+swig技術方案開發

Grunt:管理node下NPM子產品插件,插件包彙總展現在pakage.json檔案中,插件最終下載下傳到node-modules檔案夾下;

bower:js插件包管理,前端子產品,插件包彙總展現在bower.json檔案中,插件最終下載下傳到vendors檔案夾下;

swig:模闆引擎,頁面模闆實作;

環境搭建:

一、Grunt是基于node.js來運作的,是以第一步需要先安裝node: https://nodejs.org/。安裝node.js比較簡單,下載下傳下來一步步進行即可,安裝完之後,可以在控制台中輸入“node -v”來檢視nodejs的版本及是否安裝成功。

Grunt+bower 環境搭建

二、安裝Grunt-CLI(http://www.gruntjs.net/getting-started)。以下操作需要在聯網情況下進行,windows系統需以管理者身份運作cmd。執行指令:npm install -g grunt-cli,mac os 系統、部分linux系統中,在這句話的前面加上“sudo”指令(需等待聯網安裝)。

Grunt+bower 環境搭建

然後,驗證一下grunt-cli是否安裝完成并生效,繼續在指令行中輸入“grunt”指令即可。如果生效,則會出現以下結果:

Grunt+bower 環境搭建

三、安裝bower(http://bower.io/)。同上,在指令行中輸入指令:npm install -g bower,等待聯網安裝:

Grunt+bower 環境搭建

輸入 bower help 可檢視其相關指令。

項目搭建好之後,想要生成項目依賴的架構及插件,需要到項目根路徑下執行指令:bower install,會在vendors檔案夾下建立插件包。

//安裝時,同步更新到bower.json

bower install ** --save handlebars

bower ENOGIT        git is not installed or not in the PATH

将git添加到環境變量path中。

四、安裝依賴插件,這裡通過package.json批量安裝,是以跳轉到項目根目錄下,執行指令:npm install 即可。會在根目錄下生成node-modules檔案夾。

将配置檔案中配置項全部下載下傳,配置檔案如下:

package.json

{
  "name": "onealert-site",
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-cdnify": "^0.1.1",
    "grunt-contrib-clean": "^0.6.0",
    "grunt-contrib-concat": "^0.5.0",
    "grunt-contrib-connect": "^0.8.0",
    "grunt-contrib-copy": "^0.5.0",
    "grunt-contrib-cssmin": "^0.10.0",
    "grunt-contrib-htmlmin": "^0.3.0",
    "grunt-contrib-imagemin": "^0.8.0",
    "grunt-contrib-jshint": "^0.10.0",
    "grunt-contrib-less": "^1.0.0",
    "grunt-contrib-uglify": "^0.5.1",
    "grunt-contrib-watch": "^0.6.1",
    "grunt-favicons": "^0.6.4",
    "grunt-modernizr": "^0.5.2",
    "grunt-newer": "^0.7.0",
    "grunt-rev": "^0.1.0",
    "grunt-sitemap": "^1.2.1",
    "grunt-svgmin": "^0.4.0",
    "grunt-usemin": "^2.3.0",
    "grunt-wiredep": "^1.7.0",
    "jshint-stylish": "^0.4.0",
    "load-grunt-tasks": "^0.4.0",
    "lodash": "^3.5.0",
    "markdown": "^0.5.0",
    "swig": "^1.4.2",
    "time-grunt": "^0.4.0"
  },
  "engines": {
    "node": ">=0.10.0"
  },
  "scripts": {
    "postinstall": "node_modules/.bin/bower install"
  }
}
           

bower.json

{
  "name": "onealert-site",
  "private": true,
  "dependencies": {
    "bootstrap": "3.3.5",
    "bootstrap-hover-dropdown": "~2.1.3",
    "css3-mediaqueries-js": "~1.0.0",
    "es5-shim": "~4.1.0",
    "ExplorerCanvas": "*",
    "flexslider": "*",
    "font-awesome": "~4.3.0",
    "html5shiv": "~3.7.2",
    "jquery": "1.11.2",
    "jquery_lazyload": "jquery.lazyload#~1.9.7",
    "jquery-migrate": "~1.2.1",
    "jquery.placeholder": "~0.2.4",
    "modernizr": "~2.8.2"
  }
}
           

開發過程中使用指令:

grunt serve:開發環境,試試編譯本地代碼,及時檢視效果;

grunt test:測試環境,基于本地生成測試模拟;

grunt dist:釋出打包,于dist檔案夾中生成可部署檔案包;

繼續閱讀