使用GruntJS構建Web程序之合并壓縮篇
有如下步驟:
1.新建項目Bejs
2.新建文件package.json
3.新建文件Gruntfile.js
4.命令行執(zhí)行grunt任務
一、新建項目Bejs
源碼放在src下,該目錄有兩個子目錄asset和js。js下放selector.js和ajax.js,這在上一篇已經(jīng)講了如何合并壓縮它們。這篇只關注asset目錄,asset目錄下放了一些圖片和css文件。一會會把兩個css資源reset.css和style.css合并,壓縮到dest/asset目錄。一個合并版本all.css,一個壓縮版本all-min.css。

二、新建package.json
package.json放在根目錄下,它的意義上一篇已經(jīng)介紹過了。 現(xiàn)在的項目結構如下

package.json內容需符合JSON語法規(guī)范,如下
{
"name": "BeJS",
"version": "0.1.0",
"devDependencies": {
"grunt": "~0.4.0",
"grunt-contrib-concat": "~0.1.1",
"grunt-css": ">0.0.0"
}
}
grunt-contrib-concat上一篇已經(jīng)介紹過了,grunt-css 是這篇要使用的插件。
此時,打開命令行工具進入到項目根目錄,敲如下命令: npm install


查看根目錄,發(fā)現(xiàn)多了個node_modules目錄,包含了四個子目錄,見圖

三、新建文件Gruntfile.js
Gruntfile.js也是放在項目根目錄下,幾乎所有的任務都定義在該文件中,它就是一個普通的js文件,里面可以寫任意js代碼而不僅局限于JSON。和package.json一樣它也要和源碼一樣被提交到svn或git。

源碼如下
module.exports = function(grunt) {
// 配置
grunt.initConfig({
pkg : grunt.file.readJSON('package.json'),
concat : {
css : {
src: ['src/asset/*.css'],
dest: 'dest/asset/all.css'
}
},
cssmin: {
css: {
src: 'dest/asset/all.css',
dest: 'dest/asset/all-min.css'
}
}
});
// 載入concat和css插件,分別對于合并和壓縮
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-css');
// 默認任務
grunt.registerTask('default', ['concat', 'cssmin']);
};
四、執(zhí)行grunt任務
打開命令行,進入到項目根目錄,敲 grunt

從打印信息看出成功的合并和壓縮并生成了dest目錄及期望的文件,這時的項目目錄下多了dest,如下

至此,css合并壓縮完畢。
- Node.js的項目構建工具Grunt的安裝與配置教程
- 使用基于Node.js的構建工具Grunt來發(fā)布ASP.NET MVC項目
- 學習使用grunt來打包JavaScript和CSS程序的教程
- 配置Grunt的Task時通配符支持和動態(tài)生成文件名問題
- Grunt入門教程(自動任務運行器)
- 詳解Grunt插件之LiveReload實現(xiàn)頁面自動刷新(兩種方案)
- 使用GruntJS構建Web程序之Tasks(任務)篇
- 使用GruntJS構建Web程序之構建篇
- 使用GruntJS構建Web程序之安裝篇
- 使用GruntJS鏈接與壓縮多個JavaScript文件過程詳解
- 使用Grunt.js管理你項目的應用說明
- 基于Node.js的JavaScript項目構建工具gulp的使用教程
相關文章
從零開始學習Node.js系列教程四:多頁面實現(xiàn)的數(shù)學運算示例
這篇文章主要介紹了Node.js多頁面實現(xiàn)的數(shù)學運算,涉及nodejs請求響應、數(shù)值傳遞、運算等相關操作技巧,需要的朋友可以參考下2017-04-04
windows如何把已安裝的nodejs高版本降級為低版本(圖文教程)
這篇文章主要介紹了windows如何把已安裝的nodejs高版本降級為低版本,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
nodejs提示:cross-device link not permitted, rename錯誤的解決方法
這篇文章主要給大家介紹了關于nodejs提示:cross-device link not permitted, rename錯誤的解決方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用nodejs具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-06-06

