Grunt常用插件

清理文件和文件夾:grunt-contrib-clean
module.exports = function(grunt) {
    grunt.initConfig({
        clean : {
            build : ['.tmp', 'build'],
            release : ['release']
        }
    });
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.registerTask('default', ['clean']);
};
使用UglifyJS壓縮js文件:grunt-contrib-uglify
module.exports = function(grunt) {
    // 項目配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        uglify : {
            options : {
                banner : '/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n'
            },
            build : {
                src : 'src/<%=pkg.file %>.js',
                dest : 'dest/<%= pkg.file %>.min.js'
            }
        }
    });
    // 加載提供"uglify"任務的插件
    grunt.loadNpmTasks('grunt-contrib-uglify');
    // 默認任務
    grunt.registerTask('default', ['uglify']);
};
合併文件: grunt-contrib-concat
module.exports = function(grunt) {
    // 項目配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : {
            options : {
                separator : ';'
            },
            dist : {
                src : ['src/zepto.js', 'src/underscore.js', 'src/backbone.js'],
                dest : 'dest/libs.js'
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-concat');
    // 默認任務
    grunt.registerTask('default', ['concat']);
}
合併並壓縮文件:

方式一、先合併再壓縮,首先將三個文件合併成一個文件libs.js,然後再將文件libs.js壓縮成libs.min.js

module.exports = function(grunt) {
    // 項目配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        concat : {
            options : {
                separator : ';'
            },
            dist : {
                src : ['src/zepto.js', 'src/underscore.js', 'src/backbone.js'],
                dest : 'dest/libs.js'
            }
        },
        uglify : {
            build : {
                src : 'dest/libs.js',
                dest : 'dest/libs.min.js'
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-concat');
    // 默認任務
    grunt.registerTask('default', ['concat', 'uglify']);
}

方式二:先壓縮後合併,其實這裏只需要grunt-contrib-uglify一個插件就可以完成代碼的壓縮及合併。

module.exports = function(grunt) {
    // 項目配置
    grunt.initConfig({
        pkg : grunt.file.readJSON('package.json'),
        uglify : {
            "target" : {
                "files" : {
                    'dest/libs.min.js' : ['src/zepto.js', 'src/underscore.js', 'src/backbone.js']
                }
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-uglify');
    // 默認任務
    grunt.registerTask('default', ['uglify']);
}
grunt-contrib-copy:複製文件和文件夾。
grunt-contrib-cssmin:CSS文件壓縮。
grunt-contrib-imagemin:圖片壓縮。
grunt-usemin:Replaces references to non-optimized scripts or stylesheets into a set of HTML files (or any templates/views).
grunt-contrib-htmlmin:Minify HTML



原文鏈接:http://www.jianshu.com/p/2d5249914460
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章