Я использую глоток.gulp: uglify и sourcemaps
Я хотел бы иметь один или несколько JS-файлов (например, jQuery), чтобы объединить их в один, минимизировать и записать в папку распространения.
Это, как я это делаю:
minifyJS(['/js/myModule.file1.js',
'/js/myModule.file2.js'], '/dist/js', 'myModule')
функция:
function minifyJS(sourceFiles, destinationFolder, filenameRoot) {
return gulp.src(sourceFiles)
.pipe(plumber())
// .pipe(sourcemaps.init()) here ???
.pipe(concat(filenameRoot + '.js'))
.pipe(sourcemaps.init()) // or here ???
.pipe(gulp.dest(destinationFolder)) // save .js
.pipe(uglify({ preserveComments: 'license' }))
.pipe(rename({ extname: '.min.js' }))
.pipe(gulp.dest(destinationFolder)) // save .min.js
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest(destinationFolder)) // save .map
}
То, что я не уверен, что это sourcemaps.init()
место ...
Должен ли я создать несколько (2 в моем случае) файлы карт (что было бы неплохо, если они поддерживаются браузерами) или только один (/maps/myModule.map)?
Спасибо много для этого подробного и полезного объяснения ... Теперь как насчет того факта, что есть x (2) файлы на входе и только один на выходе? Должен ли я генерировать один или несколько исходных карт для включения в папку распространения вместе с файлом mymodule.min.js? ... – Serge
Gulp создаст для вас правильное сопоставление. Если у вас есть только один выходной файл, а также только одна карта sourcemap, sourcemap поймет происхождение и покажет вам два файла в инструментах dev. Если вы хотите иметь исходные карты для двух выходов (обычный и мини-один), просто вызовите sourcemaps.write два раза – ddprrt
Но я думаю, что с исходными картами вам больше не понадобится два выхода. ;-) – ddprrt