Grunt concat + uuglify с исходными картами
Я использую concat для объединения JS файлов в один файл и uglify для минимизации JavaScript. Как создать файл sourcemaps, который использует исходные JS файлы?
Мой текущий файл grunt:
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 %>']
}
}
},
Ответы
Ответ 1
Вам нужно включить исходные карты для задач 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'
}
}
Ответ 2
В grunt-contrib-uglify docs вы можете включить генерацию sourcemap как часть процесса uglify.
Ваша конфигурация uglify будет выглядеть примерно так:
uglify: {
dist: {
files: {
'<%= config.dist %>/js/main.min.js': ['<%= concat.dist.dest %>']
},
options: {
sourceMap: true
}
},