㈠ grunt 怎麼安裝已經配置好的packet.json
第一步:搭建環境,主要是nodejs, npm, grunt(grunt-cli)
$ mkdir installGrunt
$ cd installGrunt
$ npm install grunt --save-dev #如果看到如下信息表示grunt安裝成功
$ grunt --version
grunt-cli v0.1.13
grunt v0.4.5
第二步:創建 package.json
# 在項目的根目錄下創建package.json文件
(1)根據grunt-init模板自動創建一個特定的package.json文件;(需要先安裝 npm install -g grunt-init)
(2)在命令終端通過npm init命令自動創建一個基本的package.json文件;(親自測試過)
(3)從官網上復制或者下載一個package.json文件;(對新手最方便)
(4)手工創建一個package.json文件;(對高手最方便)
添加依賴
(1)逐個添加,逐個執行命令 $ npm install XXX --save-dev
XXX是常用插件名,如grunt-contrib-jshint
最好是全稱,不要簡寫。我曾試過 npm install cssmin --save-dev 生成了無用的東西。
(2)也可以一次在package.json中添加多個插件,然後一次執行命令 $ npm install
安裝聲明的依賴關系grunt插件同時, 在項目根目錄下添加一個node_moles目錄,目錄中放置對應grunt插件所需的插件目錄名。
註:當你給npm install添加 --save-dev標志是,一個波浪線范圍將被用於你的package.json中。(建議)
第三步:創建Gruntfile.js
# 添加自己合適的gruntfile配置,運行,得出預期輸出
mowww.hbbz08.com le.exports=function(grunt){
//任務配置
grunt.initConfig({
});
//載入任務
grunt.loadNpmTasks();
//注冊任務
grunt.registerTask();
}
內容參見demo1
$ grunt #
運行成功,在目標目錄下創建了一個壓縮後的js,引用壓縮後的js,效果一樣。
實踐2:加上css壓縮的過程
1,在package.json使用命令加一個插件
npm install grunt-contrib-cssmin --save-dev #一開始使用npm install cssmin不對,下了兩個
2,在Gruntfile.js中三個部分都加入cssmin相關的命令
3,運行grunt
註:如果已經在initConfig里配置了uglify和cssmin,則不能再注冊任務名為uglify和cssmin,報錯如下
(node) warning: Recursive process.nextTick detected. This will break in the next version of node.
Please use setImmediate for recursive deferral(遞歸延遲).
解決辦法:注釋掉
//grunt.registerTask("uglify",['uglify']);
//grunt.registerTask("cssmin",['cssmin']);
grunt.registerTask("default",['uglify','cssmin']);//默認執行的任務