web 开发自动化grunt

现在web开发自动化已很流行,如何进行压缩文件,如何进行测试js是否正确,如何进行

检测html文件是否规范等等都可以通过web自动化技术进行实现,只要打一个命令即可。

本文主要是通过grunt进行实现。

grunt如何安装请参看Grunt中文网 "http://gruntjs.cn/"

如果要添加其他组件利用nodejs的npm包管理工具进行安装:"npm install grunt-contrib-quint --save-dev"

命令执行完后会自动在package.json中添加

在项目文件中要添加"package.json"和"Gruntfile.js"文件。

"package.json":是项目信息。

"Gruntfile.js":项目所加载的自动化处理组件。

 

"pageage.json"文件内容如下:

{
  "name": "gruntdemo",
  "version": "0.1.0",
  "description": "grungdemo",
  "author": "tom",
  "devDependencies": {
    "grunt": "^0.4.5",
    "grunt-contrib-clean": "^0.5.0",
    "grunt-contrib-concat": "^0.4.0",
    "grunt-contrib-imagemin": "^0.7.1",
    "grunt-contrib-uglify": "^0.5.0"
  }
}

"Gruntfile.js"文件内容如下:

module.exports = function (grunt) {
    'use strict';
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        banner:'/*<%=pkg.author%>*/\n',
        clean:{
            src:['dist']
        },
        concat:{
            options:{
                banner:'<%=banner%>',
                stripBanners:true
            },
            dist:{
                src:['src/*.js'],
                dest:'dist/<%=pkg.name%>.js'
            }
        },
        uglify:{
           options:{
               banner:'<%=banner%>'
           },

          /* dist:{
               src:'<%=concat.dist.dest%>',
               dest:'dist/t<%=pkg.name%>.min.js'
           }*/

            /*dist:{
                files:{
                    'dist/t<%=pkg.name%>.min.js':['<%=concat.dist.dest%>']
                }
            }*/

            dist:{
                files:[
                    {
                        src:'<%=concat.dist.dest%>',
                        dest:'dist/t<%=pkg.name%>.min.js'
                    }
                ]
            }
        },
        imagemin: {
            /* 压缩图片大小 */
            dist: {
                options: {
                    optimizationLevel: 3 //定义 PNG 图片优化水平
                },
                files: [
                    {
                        expand: true,
                        cwd: 'img/',
                        src: ['**/*.{png,jpg,jpeg}'], // 优化 img 目录下所有 png/jpg/jpeg 图片
                        dest: 'img/' // 优化后的图片保存位置,覆盖旧图片,并且不作提示
                    }
                ]
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-imagemin');
    //grunt.registerTask('img', ['imagemin']);
    grunt.registerTask('default',['clean','concat','uglify']);
};

  现在通过grunt命令即可,实现js的压缩和图片的压缩。

 

 

 

 

posted @ 2014-06-22 12:25  zhu_xj  阅读(1079)  评论(0编辑  收藏  举报