1

ファイルを連結/縮小するためにGrunt.jsを使用していますが、1つの共通のgrunt.jsファイルを使用して、異なるWebサイトの複数のディレクトリにあるファイルを連結/圧縮したいと考えています。これを行う最良の方法は何ですか?

次のような2つの異なるタスクをセットアップできることを望んでいました。

//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');

しかし、それは機能していないようです.watchについて聞いたことがありますが、それが機能するかどうかはわかりません. 助言がありますか?

4

2 に答える 2

1

私はそれを考え出した!

別のディレクトリを設定できます。

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']);

夢のように動作します!

于 2013-01-27T22:57:10.927 に答える
0

これで、「マルチ タスク」(複数のターゲットを持つタスク) が作成されました。うまくいったように見えますが、grunt.js で作成した一連のビデオを見て、 grunt.js をさらに理解するのに役立つ可能性があるかもしれません。

于 2013-01-28T17:14:07.027 に答える