package.json放在根目錄(例如:c:\users\123)下,它包含了該項目的一些元資訊,如專案名稱、描述、版本號,外掛程式等。
}
grunt-contrib-jshint(js語法檢查)、grunt-contrib-concat(js合併)、grunt-contrib-uglify(採用uglifyjs壓縮js)、grunt-contrib-cssmin(css壓縮合併)、grunt-htmlhint(html語法驗查),以上都是常用的外掛程式。
安裝:uglify
npm install grunt
-contrib
-uglify
安裝concat
npm install grunt
-contrib
-concat
安裝:cssmin
npm install grunt
-contrib
-cssmin
外掛程式安裝完成後,檢視根目錄,會發現node_modules目錄,包含了相應的外掛程式目錄。
gruntfile.js由以下內容組成
module
.exports
=function
(grunt
);
2、專案和任務配置
3、載入grunt外掛程式和任務
4、定製執行任務
例如:
module
.exports
=function
(grunt),
dist:},
uglify:,
dist:}
},cssmin:,
compress:}
}});
//載入concat和uglify外掛程式,分別對於合併和壓縮
grunt
.loadnpmtasks
('grunt-contrib-concat'
);grunt
.loadnpmtasks
('grunt-contrib-uglify'
);grunt
.loadnpmtasks
('grunt-contrib-cssmin'
);//註冊任務
grunt
.registertask
('default',[
'concat'
,'uglify'
,'cssmin'
]);}
也可以單獨壓縮js和css,不進行合併,例如:
module
.exports
=function
(grunt),
my_target:}
]}},//壓縮css
cssmin:},
my_target:}
]}}});
// 載入指定外掛程式任務
grunt
.loadnpmtasks
('grunt-contrib-uglify'
);grunt
.loadnpmtasks
('grunt-contrib-cssmin'
);// 預設執行的任務
grunt
.registertask
('default',[
'uglify'
,'cssmin'
]);};
grunt api文件:
grunt.initconfig方法
用於模組配置,它接受乙個物件作為引數。該物件的成員與使用的同名模組一一對應。
每個目標的具體設定,需要參考該模板的文件。就cssmin來講,minify目標的引數具體含義如下:
expand:如果設為true,就表示下面檔名的佔位符(即*號)都要擴充套件成具體的檔名。
cwd:需要處理的檔案(input)所在的目錄。
src:表示需要處理的檔案。如果採用陣列形式,陣列的每一項就是乙個檔名,可以使用萬用字元。
dest:表示處理後的檔名或所在目錄。
ext:表示處理後的檔案字尾名。
grunt常用函式說明:
grunt.initconfig:定義各種模組的引數,每乙個成員項對應乙個同名模組。
grunt.loadnpmtasks:載入完成任務所需的模組。
grunt.registertask:定義具體的任務。第乙個引數為任務名,第二個引數是乙個陣列, 表示該任務需要依次使用的模組。
進入到專案根目錄,敲:
grunt
就會按gruntfile配置的檔案進行壓縮合併。
也可以單獨執行,例執行js壓縮命令:
grunt uglify
css壓縮命令
grunt cssmin
Qt中的非同步事件壓縮合併
曾經在mindray的uef框架中大量使用了訊息合併機制來解決訊息在佇列中堆積的問題,一直覺得qt中也應當存在事件合併機制。簡單幾行 能看出以下資訊 1.qt事件佇列支援多執行緒,在使用前加鎖 2.qt的事件佇列屬於執行緒,而物件與執行緒關聯 qevent timer qevent deffered...
gulp之自動化靜態資源壓縮合併加版本號
這個方案主要是為了實現js css image的壓縮合併 自動新增版本號 自動加瀏覽器字首和壓縮html。先把下面這裡外掛程式 npm i 外掛程式名 d安裝到專案環境內 目錄結構 root dist 此目錄為下面生成的 css js images rev index.html node modul...
gulp之自動化靜態資源壓縮合併加版本號
這個方案主要是為了實現js css image的壓縮合併 自動新增版本號 自動加瀏覽器字首和壓縮html。先把下面這裡外掛程式 npm i 外掛程式名 d安裝到專案環境內 目錄結構 root dist 此目錄為下面生成的 css js images rev index.html node modul...