Ответ 1
Вы можете установить функцию в sourceMap.
uglify: {
options: {
sourceMap: function(path) { return path.replace(/.js/,".map")}
},
.....
Я использую плагин 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 настроен на сжатие нескольких файлов, и указана только одна карта источника. (Я не могу понять, как указать несколько выходов sourcemap).
Кроме того, uglify перезаписывает sucemap после сжатия каждого js файла.
Как настроить этот плагин для вывода полных исходных карт для всех моих js файлов?
Вы можете установить функцию в sourceMap.
uglify: {
options: {
sourceMap: function(path) { return path.replace(/.js/,".map")}
},
.....
В версии 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'
}]
}
}
options: {
beautify: false,
banner: 'lorem ipsum',
mangle: false,
sourceMap: true,
compress: {
conditionals: true,
booleans: true,
unused: true,
sequences: true,
dead_code: true,
if_return: true,
join_vars: true,
drop_console: true
}
},
min: {
files: [{
expand: true,
cwd: '<%= config.destination.js %>',
src: ['**/*.js', '!**/*.min.js'],
dest: '<%= config.destination.js %>',
ext: '.min.js'
}]
}