grunt 0.4.1構建工具入門實踐


 

由於最近的食美特項目需要對css文件和js文件進行壓縮,各種比較之后,選擇了grunt進行構建。google一下,幾乎都是grunt0.3的使用說明,按照說明,幾乎無法使用。查看gruntjs的入門 Getting started,又是雲里霧里的,好吧,只能耐心看文檔和不斷的實踐吧。

一、使用環境說明:

1、在window xp 下使用

2、命令行使用的git的客戶端 msysgit 1.7.6(類似的nodejs應用,使用類linux的命令行比較好)

3、 只是入門說明,目的是快速的搭建環境,示例能夠跑起來。詳細的文檔資料請參考gruntjs,

一、nodejs安裝

進入 http://nodejs.org/ 直接點擊 INSTALL,直接安裝。(windows 下安裝nodejs 會直接安裝npm)

二、grunt 安裝

由於0.4.1版本的grunt分為3部分:grunt,grunt-cli 和 grunt-init。

1、安裝grunt-cli

如果 之前安裝過grunt,需要先卸載  npm uninstall -g grunt

 安裝 grunt-cli : npm install -g grunt-cli

2、創建grunt項目

grunt項目一般需要以下內容:1 、grunt( 需要安裝)2、grunt 插件 (需要安裝) 3、package.json 和 Gruntfile.js 。 (官方入門Getting started 說通過 grunt-init 和 npm init 創建。對於入門來說,這兩中方式都不太好用。推薦直接創建 package.json 和Gruntfile.js 文件)

1、在 c 盤 創建文件夾:testGrunt

2、創建2個文件package.json 和 Gruntfile.js

package.json 內容如下

{
  "name": "smeitejs",
  "version": "0.1.0",
  "description": "js for smeite.com",
  "homepage": "http://smeite.com/",
  "author": "zuosanshao <zuosanshao@qq.com>",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-jshint": "~0.3.0",
    "grunt-contrib-nodeunit": "~0.1.2",
    "grunt-contrib-cssmin": "~0.5.0"
  }
}

Gruntfile.js 

module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
  uglify: {
    options: {
      mangle: false
    },
    build: {
      files: {
        'assets/config.min.js': ['js/config.js'],
         'assets/smeite.min.js': ['js/smeite.js'],
	 'assets/index.min.js': ['js/index.js']
      }
    }
  },

cssmin: {
  compress: {
    files: {
      'assets/all.min.css': ['css/base.css', 'css/global.css']
    }
  },
 // smeite: {
  //  files: {
  //    'assets/smeite.all.css': ['/play21/smeite.com/public/assets/css/**/*.css']
  //  }
 // },
  with_banner: {
    options: {
      banner: '/* My minified css file test test */'
    },
    files: {
      'assets/min/base.css': ['css/base.css'],
      'assets/min/global.css': ['css/global.css']
    }
  }
}

});

  // Load the plugin that provides the "uglify" task.
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-cssmin');

  // Default task(s).
  grunt.registerTask('default', ['uglify']);

};

 由於在食美特項目只需要壓縮js和css文件。所有在Gruntfile.js 配置了2個grunt插件: grunt-contrib-uglify 和 grunt-contrib-cssmin

3 安裝 grunt 插件。在git 客戶端鍵入命令 cd  /c/testGrunt ; 

  • 鍵入命令 npm install grunt-contrib-uglify  安裝uglify
  • 鍵入命令 npm install  grunt-contrib-cssmin  安裝cssmin

  

4、 准備相關資料

在 /c/testGrunt 目錄下,創建 js目錄,並在js目錄下創建文件config.js  smeite.js index.js ,創建css目錄,並在css目錄下創建base.css 和 global.css。 (這些文件都在Gruntfile.js 有配置,所以需要創建,內容可以隨意的寫)

5、執行grunt 命令

執行js壓縮命令 grunt uglify 效果如下

執行css壓縮命令 grunt cssmin 效果如下

 

整個文件截圖

后記:1、uglify 插件的使用說明 https://npmjs.org/package/grunt-contrib-uglify 

        2、cssmin插件使用說明 https://npmjs.org/package/grunt-contrib-cssmin

       3、插件的配置需要在gruntfile.js中配置

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM