最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用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)介紹過了。 現(xiàn)在的項(xiàng)目結(jié)構(gòu)如下

package.json內(nèi)容需符合JSON語法規(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)介紹過了,grunt-css 是這篇要使用的插件。

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



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

三、新建文件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ù)
打開命令行,進(jìn)入到項(xiàng)目根目錄,敲 grunt

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

至此,css合并壓縮完畢。

相關(guān)文章

  • Node.js進(jìn)行文件操作(讀取/寫入/修改/刪除)詳解

    Node.js進(jìn)行文件操作(讀取/寫入/修改/刪除)詳解

    Node.js是一個(gè)神奇的東西,它可以讓JavaScript在服務(wù)器端運(yùn)行,讓我們的很多前端程序員也能在后端大展身手了!本文就來講講如何在Node.js中進(jìn)行文件操作:讀取、寫入、修改和刪除文件吧
    2023-03-03
  • 學(xué)習(xí)Node.js模塊機(jī)制

    學(xué)習(xí)Node.js模塊機(jī)制

    這篇文章主要為大家詳細(xì)介紹了Node.js模塊機(jī)制,一篇關(guān)于Node.js模塊機(jī)制的學(xué)習(xí)筆記,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)的數(shù)學(xué)運(yùn)算示例

    從零開始學(xué)習(xí)Node.js系列教程四:多頁面實(shí)現(xiàn)的數(shù)學(xué)運(yùn)算示例

    這篇文章主要介紹了Node.js多頁面實(shí)現(xiàn)的數(shù)學(xué)運(yùn)算,涉及nodejs請(qǐng)求響應(yīng)、數(shù)值傳遞、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法

    Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法

    本篇文章主要介紹了Node.js的Koa實(shí)現(xiàn)JWT用戶認(rèn)證方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • NodeJs Express中間件使用流程解析

    NodeJs Express中間件使用流程解析

    Express中間件本質(zhì)上就是一個(gè)function處理函數(shù),多個(gè)中間件之間,共享同一份req和res,我們就可以在上游的中間件中統(tǒng)一為req或者res對(duì)象添加自定義的屬性或方法,供下游的中間件或路由進(jìn)行使用,非常方便
    2023-01-01
  • Nodejs+express+ejs簡單使用實(shí)例代碼

    Nodejs+express+ejs簡單使用實(shí)例代碼

    本篇文章主要介紹了Nodejs+express+ejs簡單使用實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Nodejs進(jìn)程管理模塊forever詳解

    Nodejs進(jìn)程管理模塊forever詳解

    服務(wù)器管理是系統(tǒng)上線后,必須要面對(duì)的問題。最好有一個(gè)軟件可以提供整套的服務(wù)器運(yùn)行解決方案:要求運(yùn)行穩(wěn)定,支持高并發(fā),啟動(dòng)/停止命令簡單,支持熱部署,宕機(jī)重啟,監(jiān)控界面和日志,集群環(huán)境。
    2014-06-06
  • 解決node.js中bcrypt遇到的安裝問題

    解決node.js中bcrypt遇到的安裝問題

    這篇文章主要介紹了解決node.js中bcrypt遇到的安裝問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • windows如何把已安裝的nodejs高版本降級(jí)為低版本(圖文教程)

    windows如何把已安裝的nodejs高版本降級(jí)為低版本(圖文教程)

    這篇文章主要介紹了windows如何把已安裝的nodejs高版本降級(jí)為低版本,本文分步驟通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • nodejs提示:cross-device link not permitted, rename錯(cuò)誤的解決方法

    nodejs提示:cross-device link not permitted, rename錯(cuò)誤的解決方法

    這篇文章主要給大家介紹了關(guān)于nodejs提示:cross-device link not permitted, rename錯(cuò)誤的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用nodejs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06

最新評(píng)論

和林格尔县| 合川市| 阳信县| 宜兰市| 聊城市| 余干县| 胶南市| 建瓯市| 公主岭市| 上杭县| 藁城市| 夏河县| 肃北| 灵山县| 常山县| 普定县| 吉首市| 舟曲县| 高台县| 日照市| 温泉县| 武胜县| 丰原市| 哈尔滨市| 梁平县| 兴和县| 潍坊市| 固始县| 永川市| 甘德县| 图木舒克市| 枣强县| 和顺县| 杭州市| 阿鲁科尔沁旗| 务川| 彰武县| 汉沽区| 白银市| 南投县| 且末县|