Grunt concat + uglify с sourcemaps
Я использую concat для объединения JS-файлов в один файл и uglify для минимизации JavaScript. Как я могу создать файл sourcemaps, который использует исходные файлы JS?
Мой текущий gruntfile:
concat: {
options: {
// define a string to put between each file in the concatenated output
separator: ';'
},
dist: {
// the files to concatenate
src: ['<%= config.src %>/js/**/*.js'],
// the location of the resulting JS file
dest: '<%= config.dist %>/js/main.js'
}
},
uglify: {
dist: {
files: {
'<%= config.dist %>/js/main.min.js': ['<%= concat.dist.dest %>']
}
}
},
2 ответа:
Необходимо включить исходные карты для задач
concat
иuglify
, а также указать параметрsourceMapIn
для задачи uglify.Вот пример конфигурации grunt:
concat : { options : { sourceMap :true }, dist : { src : ['www/js/**/*.js'], dest : '.tmp/main.js' } }, uglify : { options : { sourceMap : true, sourceMapIncludeSources : true, sourceMapIn : '.tmp/main.js.map' }, dist : { src : '<%= concat.dist.dest %>', dest : 'www/main.min.js' } }
В документах grunt-contrib-uglify можно включить генерацию исходных карт как часть процесса uglify.
Ваш uglify config будет выглядеть примерно так:
uglify: { dist: { files: { '<%= config.dist %>/js/main.min.js': ['<%= concat.dist.dest %>'] }, options: { sourceMap: true } },