#javascript #gulp
Имеем gulp-таск
gulp.task('js', function() {
gulp.src('*.js')
.pipe(sourcemaps.init())
.pipe(browserify())
.pipe(sourcemaps.write('./maps/', {includeContent: false}))
.pipe(gulp.dest('./'));
});
И js-файл примерно такого содержания
require('foo.js');
require('bar.js');
//some local code
Source map в этом случае создается для сконкатенированного общего js-файла, в который
попадает код из foo.js, bar.js и файла, в котором они подключаются. И строчки в сгенерированном
source map указывают на номера строк в этом файле.
Нужно, чтобы маппинг был на конкретные конечные файлы foo.js и bar.js Как это можно
сделать? Возможно, с использованием каких-то других плагинов.
Ответы
Ответ 1
В приведенном вами примере проще сгенерировать source map средствами browserify. Для этого вам нужно запустить browserify с опцией debug. Такой код должен работать: gulp.task('js', function() { gulp.src('*.js') .pipe(browserify({debug: true})) .pipe(gulp.dest('./')); }); Если вы хотите добавить дополнительные настройки в gulp к полученным source map, например сохранить их в отдельную папку, то вам должен подойти этот код: gulp.task('js', function() { gulp.src('*.js') .pipe(browserify({debug: true})) .pipe(sourcemaps.init({loadMaps: true})) .pipe(sourcemaps.write('./maps/')) .pipe(gulp.dest('./')); }); Код выше я не проверял, но в любом случае вам нужно будет генерировать source map средствами browserify.
Комментариев нет:
Отправить комментарий