如何在grunt中创建许多单独的uglify任务?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在grunt中创建许多单独的uglify任务?相关的知识,希望对你有一定的参考价值。

当我尝试创建许多uglify任务时,我会遇到错误。我必须评论并取消注释一项任务才能使一项任务正常工作。希望可以有人帮帮我。我需要使用此插件创建的两个sperate缩小的.js文件,但我无法弄明白。如果可以在一个任务命令中创建两个任务,这将创建两个sperate缩小.js文件,如下所述,这也是很好的。期待好主意。

module.exports = function(grunt){

grunt.loadNpmTasks('grunt-contrib-uglify');

    grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    uglify:{
        t1:{
            files:{
                'build/scripts1.js' : ['abc.js', 'xc.js']

            }
        }
    },

    uglify:{
        t2:{
            files:{
                'build/scripts2.js' : ['123.js', 63a5.js]

            }
        }
    }
    });
};
答案

您需要将Targets t1t2添加到单个uglify Task,如下所示:

Gruntfile.js

module.exports = function (grunt) {

  grunt.loadNpmTasks('grunt-contrib-uglify');

  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),

    uglify:{
      t1:{
        files:{
          'build/scripts1.js' : [ 'abc.js', 'xc.js' ]
        }
      },
      t2:{
        files:{
            'build/scripts2.js' : [ '123.js', '63a5.js' ]
        }
      }
    }
  });

  grunt.registerTask('default', ["uglify"]);
  grunt.registerTask('foo', ["uglify:t1"]);
  grunt.registerTask('quux', ["uglify:t2"]);
};

跑咕噜声

上面的Gruntfile.js有三个registerTask,即; defaultfooquux

  • 运行$ grunt将运行目标t1t2
  • 运行$ grunt foo只会运行Target t1
  • 运行$ grunt quux只会运行Target t2

fooquux都使用冒号(I.e."uglify:t1""uglify:t2")仅引用其中一个目标。

default任务仅引用uglify,这将导致uglify目标中的所有目标(无论多少)被运行。

以上是关于如何在grunt中创建许多单独的uglify任务?的主要内容,如果未能解决你的问题,请参考以下文章

grunt-contrib-uglify

grunt使用使用插件uglify配置详解

解析文件以使用值填充占位符

js压缩 uglify

grunt的用法一

如何在 iOS swift 3 中创建单独的文件夹