亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用GruntJS構(gòu)建Web程序之合并壓縮篇

 更新時(shí)間:2014年06月06日 10:58:34   作者:  
前一篇講述了如何使用concat和uglify命令實(shí)現(xiàn)JavaScript資源的合并,壓縮。這篇講述下css資源的合并和壓縮。

有如下步驟:

1.新建項(xiàng)目Bejs
2.新建文件package.json
3.新建文件Gruntfile.js
4.命令行執(zhí)行g(shù)runt任務(wù)
 

一、新建項(xiàng)目Bejs
源碼放在src下,該目錄有兩個(gè)子目錄asset和js。js下放selector.js和ajax.js,這在上一篇已經(jīng)講了如何合并壓縮它們。這篇只關(guān)注asset目錄,asset目錄下放了一些圖片和css文件。一會(huì)會(huì)把兩個(gè)css資源reset.css和style.css合并,壓縮到dest/asset目錄。一個(gè)合并版本all.css,一個(gè)壓縮版本all-min.css。

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

package.json內(nèi)容需符合JSON語(yǔ)法規(guī)范,如下

復(fù)制代碼 代碼如下:

{
  "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)介紹過(guò)了,grunt-css 是這篇要使用的插件。

此時(shí),打開(kāi)命令行工具進(jìn)入到項(xiàng)目根目錄,敲如下命令: npm install



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

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

源碼如下

復(fù)制代碼 代碼如下:

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插件,分別對(duì)于合并和壓縮
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-css');
    // 默認(rèn)任務(wù)
    grunt.registerTask('default', ['concat', 'cssmin']);
};

四、執(zhí)行g(shù)runt任務(wù)
打開(kāi)命令行,進(jìn)入到項(xiàng)目根目錄,敲 grunt

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

至此,css合并壓縮完畢。

相關(guān)文章

  • 總結(jié)Node.js中的一些錯(cuò)誤類型

    總結(jié)Node.js中的一些錯(cuò)誤類型

    NodeJS 的錯(cuò)誤處理讓人痛苦,在很長(zhǎng)的一段時(shí)間里,大量的錯(cuò)誤被放任不管。但是要想建立一個(gè)健壯的 Node.js 程序就必須正確的處理這些錯(cuò)誤,而且這并不難學(xué)。下面跟著小編一起來(lái)學(xué)習(xí)學(xué)習(xí)。
    2016-08-08
  • npm使用國(guó)內(nèi)淘寶鏡像的兩種方法

    npm使用國(guó)內(nèi)淘寶鏡像的兩種方法

    npm install時(shí)候,默認(rèn)是去npm鏡像源獲取,很多時(shí)候蝸牛一樣的速度,所以需要將安裝源設(shè)置成國(guó)內(nèi)的源,這樣速度就會(huì)快很多,本文就來(lái)介紹一下npm使用國(guó)內(nèi)淘寶鏡像的兩種方法,感興趣的可以了解一下
    2023-08-08
  • node.js中的fs.symlink方法使用說(shuō)明

    node.js中的fs.symlink方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.symlink方法使用說(shuō)明,本文介紹了fs.symlink的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解

    window系統(tǒng) nodejs安裝opencv環(huán)境配置圖文詳解

    這篇文章主要介紹了window系統(tǒng) nodejs安裝opencv環(huán)境配置,結(jié)合圖文形式詳細(xì)分析了window環(huán)境下 nodejs安裝opencv的具體步驟、注意事項(xiàng)
    2023-04-04
  • nodejs操作mongodb的增刪改查功能實(shí)例

    nodejs操作mongodb的增刪改查功能實(shí)例

    這篇文章主要介紹了nodejs操作mongodb的增刪改查功能,簡(jiǎn)單分析了mongodb模塊的安裝并結(jié)合實(shí)例形式分析了nodejs操作mongodb數(shù)據(jù)庫(kù)進(jìn)行增刪改查的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11
  • node.js中的fs.ftruncate方法使用說(shuō)明

    node.js中的fs.ftruncate方法使用說(shuō)明

    這篇文章主要介紹了node.js中的fs.ftruncate方法使用說(shuō)明,本文介紹了fs.ftruncate的方法說(shuō)明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • 基于node.js實(shí)現(xiàn)爬蟲的講解

    基于node.js實(shí)現(xiàn)爬蟲的講解

    今天小編就為大家分享一篇關(guān)于基于node.js實(shí)現(xiàn)爬蟲的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • 深入理解 Koa 框架中間件原理

    深入理解 Koa 框架中間件原理

    koa是目前node里最流行的web框架。這篇文章主要介紹了理解 Koa 框架中間件原理,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Node.js安裝教程和NPM包管理器使用詳解

    Node.js安裝教程和NPM包管理器使用詳解

    這篇文章主要介紹了Node.js安裝教程和NPM包管理器使用詳解,安裝部分講解了Windows、和MAC OS下的安裝圖解,并介紹了Linux下的源碼安裝方法,最后對(duì)NPM包管理器做了詳細(xì)介紹,需要的朋友可以參考下
    2014-08-08
  • node.js中cluster的使用教程

    node.js中cluster的使用教程

    這篇文章主要介紹了node.js中cluster的使用教程,分別介紹使用NODE中cluster利用多核CPU、通過(guò)消息傳遞來(lái)監(jiān)控工作進(jìn)程狀態(tài)以及殺死僵尸進(jìn)程等功能,給出了詳細(xì)的示例代碼供大家參考學(xué)習(xí),需要的朋友們下面來(lái)一起看看吧。
    2017-06-06

最新評(píng)論