Как указать несколько исходных карт в задаче uglify grunt?

Я использую плагин grunt-contrib-uglify в своем grunt 0.4.

У меня следующая задача:

uglify: {
  dist: {
    options: {
      sourceMap: 'dist/sm/sm.js'
    },
    files: grunt.file.expandMapping(['*.js'], 'dist/js', {
      cwd: 'dist/js'
    })
  }
},

Как видите, uglify настроен на сжатие нескольких файлов, и указана только одна карта источников. (Я не могу найти способ указать несколько выходов исходной карты).

Кроме того, uglify перезаписывает карту файлов после сжатия каждого файла js.

Как мне настроить этот плагин для вывода полных исходных карт для всех моих файлов js?


person Niyaz    schedule 08.01.2013    source источник


Ответы (2)


Вы можете установить функцию в sourceMap.

uglify: {
  options: {
      sourceMap: function(path) { return path.replace(/.js/,".map")} 
  },
  .....
person panghea    schedule 06.07.2013

В версии V0.4.0 sourceMap - это Boolean значение. Используйте динамическую сборку для создания нескольких sourceMap с несколькими .min.js файлами.

uglify: {
  options: {
    sourceMap: true
  },
  build: {
    files: [{
        expand: true,
        cwd: 'src/',
        src: '*.js',
        dest: 'build/',
        ext: '.min.js',
        extDot: 'first'
    }]
  }
}
person Kamel    schedule 05.06.2014