1. 程式人生 > >Windows下安裝Grunt的指南和相關說明

Windows下安裝Grunt的指南和相關說明

Grunt基於Node.js,其中 npm 是 Node.js 的包管理器,而Grunt和Grunt外掛就通過 npm 安裝並管理。

Grunt 0.4.x 必須配合Node.js >= 0.8.0版本使用。

安裝Node.js:
Node.js官網,點選INSTALL下載並安裝,現在的Node.js會自動安裝npm。

安裝完成之後,開啟命令列,進行後續的操作(開始->輸入CMD 或 開始->所有程式 ->命令提示符)。

進入Node.js的安裝目錄(預設路徑為"C:\Program Files\nodejs"):
cd \pro*\nod*

可以通過以下2個命令,檢視 node.js 和 npm 的版本號:
node -v

npm -v

安裝Grunt:
如果你之前安裝過老的0.3版本,請先解除安裝:
npm uninstall -g grunt

安裝Grunt命令列(CLI):
npm install -g grunt-cli

注1:-g代表全域性安裝,Grunt有二個版本:伺服器端版本(grunt)和客戶端版本(grunt-cli)。

注2:安裝grunt-cli並不等於安裝了grunt!grunt CLI的任務很簡單:呼叫與Gruntfile在同一目錄中的grunt。這樣帶來的好處是,允許你在同一個系統上同時安裝多個版本的grunt。而grunt使用模組結構,除了安裝命令列介面以外,還要根據需要安裝相應的模組。這些模組應該採用區域性安裝,因為不同專案可能需要同一個模組的不同版本。

上述命令執行完後,grunt 命令就被加入到你的系統路徑中了,以後就可以在任何目錄下執行此命令了。

建立新的Grunt專案:
假設這個專案安裝在D盤根目錄,我們首先進度D盤:
d:

建立專案資料夾:
mkdir testProject

進入資料夾:
cd testProject

接著在你的專案資料夾根目錄下新增兩個檔案:package.json 和 Gruntfile。

package.json: 此檔案被npm用於儲存專案的元資料,以便將此專案釋出為npm模組。
Gruntfile: 此檔案被命名為 Gruntfile.js 或 Gruntfile.coffee,用來配置或定義任務(task)並載入Grunt外掛。

建立package.json檔案:
package.json應當放置於專案的根目錄中,與Gruntfile在同一目錄中,並且應該與專案的原始碼一起被提交。大部分 grunt-init 模版都會自動建立特定於專案的package.json檔案。

方法一:執行 npm init 命令(根據預設的grunt-init模板,引導你建立一個“基本”的package.json檔案):
npm init

根據提示填寫資訊(都允為空):

name: (GruntT)      // 模組名稱:只能包含小寫字母數字和中劃線,如果為空則使用專案資料夾名稱代替 version: (0.0.0)     // 版本號 description:       // 描述:會在npm搜尋列表中顯示 entry point: (index.js) // 模組入口檔案 test command:       // 測試指令碼 git repository:      // git倉庫地址 keywords:         // 關鍵字:用於npm搜尋,多個關鍵字用空格分開 author:          // 作者 license: (BSD-2-Clause)  // 開原協議

方法二:手動建立package.json檔案,新增專案/模組的描述資訊:

{  "name": "my-project",  "version": "0.1.0" }

安裝Grunt和Grunt外掛:
方法一:手動新增,修改package.json檔案:

{  "name": "my-project",  "version": "0.1.0",  "devDependencies": {   "grunt": "~0.4.1",   "grunt-contrib-cssmin": "~0.7.0"  } }

注:devDependencies裡面的引數,指定了專案依賴的Grunt和Grunt外掛版本。其中"~0.7.0"代表安裝該外掛的某個特定版本,如果只需安裝最新版本,可以改成"*"。

然後執行:
npm install

這時你會發現專案資料夾中多了個node_modules資料夾,其裡面就是對應的Grunt和Grunt外掛。

方法二:自動安裝:
通過 npm install <module> --save-dev 命令

安裝最新版的Grunt:
npm install grunt --save-dev

接著安裝我們所需要的外掛:
npm install grunt-contrib-cssmin --save-dev

注:其中--save-dev,表示將它作為你的專案依賴新增到package.json檔案中devDependencies內。如果你要安裝指定版本的Grunt或者Grunt外掛,只需要執行npm install [email protected] --save-dev命令,其中VERSION就是你所需要的版本(指定版本號即可)。

附:Grunt官方外掛列表,其中帶星號的為官方維護的外掛。

建立Gruntfile.js檔案:

module.exports = function(grunt) { // 配置任務引數 grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), cssmin: { combine: { files: { 'css/release/compress.css': ['css/*.css'] // 指定合併的CSS檔案 ['css/base.css', 'css/global.css'] } }, minify: { options: { keepSpecialComments: 0, /* 刪除所有註釋 */ banner: '/* minified css file */' }, files: { 'css/release/master.min.css': ['css/master.css'] } } } }); // 外掛載入(載入 "cssmin" 模組) grunt.loadNpmTasks('grunt-contrib-cssmin'); // 自定義任務:通過定義 default 任務,可以讓Grunt預設執行一個或多個任務。 grunt.registerTask('default', ['cssmin']); };

執行配置中所有的任務:
grunt

執行某個特定的任務:
grunt cssmin

測試:
接著我們在專案資料夾中建立個子資料夾,命名為:CSS

並且在裡面建立base.css和master.css,2個CSS檔案,你可以隨便寫點內容在裡面。

然後在命令列中執行grunt,看到如下提示說明執行成功:
Running "cssmin:combine" (cssmin) task
File css/release/compress.css created.

Running "cssmin:minify" (cssmin) task
File css/release/master.min.css created.

Done, without errors.