使用grunt合并压缩js、css文件

@date:2015-11-10 20:06:00

需要了解的知识:

1、nodejs的安装与命令行使用

2、nodejs安装应用

3、grunt的初步了解

 

本文已假定读者已经熟悉以上知识。

 

好,我们继续:

任务1:将src目录下的所有zepto及插件合并,并压缩。

--src/
    ajax.js
    assets.js
    callbacks.js
    data.js
    deferred.js
    detect.js
    event.js
    form.js
    fx.js
    fx_methods.js
    gesture.js
    ie.js
    ios3.js
    selector.js
    stack.js
    touch.js
    zepto.js

 

目录结构:

dist/
node_modules/
src/
Gruntfile.js
package.json

package.json是依赖库文件

Gruntfile.js是执行步骤程序

 

一、js合并压缩

第一次需要先安装grunt。执行 npm install -g grunt-cli 进行安装。如果已经安装,可以忽略。

1.package.json文件

{
  "name": "demo",
  "file": "zepto",
  "version": "0.1.0",
  "description": "demo",
  "license": "MIT",
  "devDependencies": {
    "grunt": "~0.4.1",
    "grunt-contrib-jshint": "~0.6.3",
    "grunt-contrib-concat": "~0.5.0",
    "grunt-contrib-uglify": "~0.2.1",
    "grunt-contrib-requirejs": "~0.4.1",
    "grunt-contrib-copy": "~0.4.1",
    "grunt-contrib-clean": "~0.5.0",
    "grunt-strip": "~0.2.1"
  },
  "dependencies": {
    "express": "3.x"
  }
}

 2.Gruntfile.js

module.exports = function (grunt) {
  grunt.initConfig({
  concat: {
    options: {
    },
    dist: {
      src: ['src/**/*.js'],//src文件夹下包括子文件夹下的所有文件
      dest: 'dist/built.js'//合并文件在dist下名为built.js的文件
    }
  },
  uglify: {
     build: {
        src: 'dist/built.js',//压缩源文件是之前合并的buildt.js文件
        dest: 'dist/built.min.js'//压缩文件为built.min.js
      }
   }
});
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-concat');

grunt.registerTask(

'default', ['concat','uglify']);
}

执行步骤:

(1)安装依赖,已安装可以忽略: npm install 。将会下载依赖的文件到node_modules目录。

(2)执行合并压缩: grunt 

>grunt
Running "concat:dist" (concat) task
File dist/built.js created.

Running

"uglify:build" (uglify) task
File
"dist/built.min.js" created.

Done, without errors.

将会在dist目录生成

built.js
built.min.js

 

任务2:将src/css目录下的所有css文件合并,并压缩。

二、对CSS进行合并压缩

需要安装grunt-css。执行 npm install grunt-css 安装。安装成功,下载到 node_modules/grunt-css 。如果已经安装,可以忽略。

1、package.json同上;

2、Gruntfile.js如下:

module.exports = function (grunt) {
  grunt.initConfig({
  concat: {//css文件合并
    css: {
      src: ['src/css/*.css'],//当前grunt项目中路径下的src/css目录下的所有css文件
      dest: 'dist/all.css'  //生成到grunt项目路径下的dist文件夹下为all.css
    }
  },
  cssmin: { //css文件压缩
     css: {
        src: 'dist/all.css',//将之前的all.css
        dest: 'dist/all.min.css'  //压缩
      }
   }
});
grunt.loadNpmTasks('grunt-css');
grunt.loadNpmTasks('grunt-contrib-concat');

grunt.registerTask(

'default', ['concat','cssmin']);
}

 

参考:

1、 Grunt中文网

http://www.gruntjs.net/getting-started

 

(完结)

 

Build by Loppo 0.6.14