繁体   English   中英

如何用不同的输入设置Grunt.js?

[英]How to setup Grunt.js with different inputs?

我正在使用Grunt.js合并/缩小文件-但想使用1个通用grunt.js文件在不同目录的多个目录中合并/压缩文件。 最好的方法是什么?

我希望我可以设置两个不同的任务,例如:

//ATG INTL US (excluding VIR)
    concat1: {
      dist: {
        src: ['<banner:meta.banner>', '../js/plugins/jquery.tools.min.js','../js/plugins/jquery.validate.min.js','../js/plugins/jcarousellite_1.0.1.min.js','../js/plugins/jquery.jcarousel.min.js','../js/plugins/jquery.qtip-1.0.0-rc3.min.js','../js/plugins/jquery.cookie.js','../js/plugins/jquery.fancybox-1.3.4.min.js','../js/lib/modernizr/modernizr.custom.39125.js','../js/plugins/jquery.select2.min.js'],        dest: '../js/common/plugins.js'
      }
    },
    // ATG INTL US (VIR ONLY)
    concat2: {
      dist: {
        src: ['<banner:meta.banner>', '../js/plugins/jquery.tools.min.js','../js/plugins/jquery.validate.min.js','../js/plugins/jcarousellite_1.0.1.min.js','../js/plugins/jquery.jcarousel.min.js','../js/plugins/jquery.qtip-1.0.0-rc3.min.js','../js/plugins/jquery.cookie.js','../js/plugins/jquery.fancybox-1.3.4.min.js','../js/lib/modernizr/modernizr.custom.39125.js','../js/plugins/jquery.select2.min.js','../include/js/plugins/jquery-ui.selectmenu.js'],        dest: '../js/common/plugins.js'
      }
    },

然后在我想运行它时注册另一个任务:

  grunt.registerTask('default', 'lint qunit mincss concat1 min');

但这似乎没有用,我听说过手表,但不确定是否可以用。 有什么建议么?

我想到了!

我可以设置不同的目录:

concat: {
      //ATG INTL US (excluding VIR)
      atgintlus: {
        src: ['<banner:meta.banner>', '../js/plugins/jquery.tools.min.js','../js/plugins/jquery.validate.min.js','../js/plugins/jcarousellite_1.0.1.min.js','../js/plugins/jquery.jcarousel.min.js','../js/plugins/jquery.qtip-1.0.0-rc3.min.js','../js/plugins/jquery.cookie.js','../js/plugins/jquery.fancybox-1.3.4.min.js','../js/lib/modernizr/modernizr.custom.39125.js','../js/plugins/jquery.select2.min.js'],        dest: '../js/common/plugins.js'
      },
      // ATG INTL US (VIR ONLY)
      atgintlvir: {
        src: ['<banner:meta.banner>', '../js/plugins/jquery.tools.min.js','../js/plugins/jquery.validate.min.js','../js/plugins/jcarousellite_1.0.1.min.js','../js/plugins/jquery.jcarousel.min.js','../js/plugins/jquery.qtip-1.0.0-rc3.min.js','../js/plugins/jquery.cookie.js','../js/plugins/jquery.fancybox-1.3.4.min.js','../js/lib/modernizr/modernizr.custom.39125.js','../js/plugins/jquery.select2.min.js','../include/js/plugins/jquery-ui.selectmenu.js'],        dest: '../js/common/plugins.js'
      }
    },

然后注册不同的任务:

 // ATG INTL US task.
  // Run in Command line using Grunt atgintlus
  grunt.registerTask('atgintlus', ['lint','mincss','concat:atgintlus', 'min:atgintlus']);

  // VIR US task.
  // Run in Command line using Grunt atgintlvir
  grunt.registerTask('atgintlvir', ['lint','mincss','concat:atgintlvir', 'min:atgintlvir']);

像梦一样工作!

是的,所以您要做的是创建一个“多任务”(一个具有多个目标的任务)。 看起来您已经做好了,但您可能想看看我在grunt.js上制作的一系列 vid,可能会帮助您进一步了解grunt.js,这是关于task的一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM