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.