前端自动化工具 grunt 插件之 concat 和 uglify 的联合使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端自动化工具 grunt 插件之 concat 和 uglify 的联合使用相关的知识,希望对你有一定的参考价值。

一、contrib-concat 和 contrib-uglify 插件的联合使用

1、安装 concat 和 uglify 插件命令(在终端进入到项目根目录执行)

            npm install grunt-contrib-concat  --save-dev

            npm install grunt-contrib-uglify  --save-dev

2、在项目根目录下提供 concat 和 uglify 插件任务配置需要的 src 目录和需要被合并的源文件(合并源文件放置到 src 目录下)

            mkdir src

3、在 Gruntfile.js 文件中对 concat 和 uglify 任务进行配置(把多个文件合并成一个文件并且进行压缩)

 // 包装函数
module.exports = function (grunt) {
       // 任务配置,所有插件的配置信息
       grunt.initConfig({
               // 获取 package.json 的信息
               pkg: grunt.file.readJSON(‘package.json‘),
               // concat 插件的配置信息
               concat: {
                   options: {
                       separator: ‘;‘,                 // 设置输出文件合并的字符
                       banner: ‘/*被合成的文件第一行内容说明文字信息*/‘,
                       footer: ‘/*被合成的文件尾部内容说明文字信息*/‘,
                       stripBanners: true         // 去掉被合成的文件内容中的 /* */ 注释信息
                   },
                   // 具体任务配置
                   dist: {
                       // 被合并的文件路径
                       src: [‘src/zepto.js‘,‘src/jquery.js‘],
                       // 被合成的文件路径
                       dest: ‘dest/libs.js‘
                   }
               },
               // uglify 插件的配置信息
               uglify: {
                   // 文件头部输出信息
                   options: {
                       banner: ‘/*! <%= pkg.file %> <%= grunt.template.today("yyyy-mm-dd") %> */\n‘
                   },
                   // 具体任务配置
                   build: {
                       // 源文件
                       src: ‘dest/libs.js‘,
                       // 目标文件
                       dest: ‘dest/libs.min.js‘
                   }
               }
       });  
// 加载指定插件任务
grunt.loadNpmTasks(‘grunt-contrib-concat‘);  
grunt.loadNpmTasks(‘grunt-contrib-uglify‘);  

// 默认执行的任务
grunt.registerTask(‘default‘, [‘concat‘,‘uglify‘]);
};

PS:当你在命令行中执行 grunt 命令本身时,Grunt 就会寻找一个已注册的任务,叫作default。当然我们也可以自定义一个任务,将执行一个特定的任务集,注意任务集中的插件的排列有先后之分,越靠前越先执行。例如,grunt.registerTask(‘release‘,[‘jshint‘, ‘jasmine‘, ‘requirejs‘, ‘sass‘, ‘imagemin‘, ‘htmlmin‘]);  我们已经创建了一个 release 任务,在命令行使用 " grunt release " 命令运行时将把我们准备好的文件提交到我们的生产环境中。

4、最后在终端运行 grunt 命令

PS:如果提示 "Done, without errors."  证明就没什么问题了,现在去项目根目录下看是否已经生成了存放合并文件的目录和被合成之后进行压缩的目标文件。




本文出自 “珞辰的博客” 博客,转载请与作者联系!

以上是关于前端自动化工具 grunt 插件之 concat 和 uglify 的联合使用的主要内容,如果未能解决你的问题,请参考以下文章

前端自动化工具 grunt 插件的简单使用

前端自动化工具 grunt 插件 watch 的简单使用

前端自动化工具 grunt 插件 jshint 的简单使用

前端自动化工具 grunt 插件 imagemin 的简单使用

前端自动化工具 grunt 插件 htmlmin 的简单使用

grunt -- javascript自动化工具