12

このシナリオで区切り記号を指定する
方法: 次のように grunt-concat を使用してファイルを連結しています。

concat: {
  options: {
    banner: '<%= banner %>',
    separator: ""
  },
  dist: {
    files:{
      '<%= distdir %>/public/scripts/ieditor.js': [
        'public/scripts/ieditor/vars.js',
        'public/scripts/ieditor/controllers/*.js',
        'public/scripts/ieditor/directives/*.js',
        'public/scripts/ieditor/app.js',
        'public/scripts/ieditor/services/*.js',
        'public/scripts/ieditor/filters/*.js'
      ],
      '<%= distdir %>/public/scripts/dashboard.js': [
        'public/scripts/dashboard/vars.js',
        'public/scripts/dashboard/controllers/*.js',
        'public/scripts/dashboard/directives/*.js',
        'public/scripts/dashboard/app.js',
        'public/scripts/dashboard/services/*.js',
        'public/scripts/dashboard/filters/*.js'
      ]
    }
  }
}

私が望むのは、CSS ファイルを連結するときに、コンパスのように元のファイルにマップされた最終結果を取得することです。
例:

//####public/scripts/ieditor/vars.js###############
content of public/scripts/ieditor/vars.js
//####public/scripts/ieditor/controllers/a.js######
content of public/scripts/ieditor/controllers/a.js
//####public/scripts/ieditor/controllers/b.js######
content of public/scripts/ieditor/controllers/b.js
.....

連結されている現在のファイルを参照する名前は何ですか?オプション領域で次のようなことができます:

  options: {
    banner: '<%= banner %>',
    separator: "<%= current_file_name %>"
  },

前もって感謝します。

4

1 に答える 1

20

function として指定されたprocessオプションはあなたの友達です:

concat: {
  options: {
    process: function(src, filepath) {
      return '//####' + filepath + '\n' + src;
    }
  }
},
...
于 2013-09-12T15:29:59.227 に答える