Gulp - исходные карты не загружают источник в Chrome
Я не проверял все просмотры, но регулярно пользуюсь хромом.
С Grunt у меня не было проблем с uglify и созданным файлом карты. В Chrome в инструментах разработчика загружаются как min.js, так и исходный.js.
Я пытаюсь изучить Gulp и после нескольких часов попыток не могу заставить файл карты связать исходный файл.js, соответствующий файлу.min.js.
Вот мой gulpfile.js. Что я делаю неправильно?
var gulp = require('gulp')
, uglify = require('gulp-uglify')
, rename = require('gulp-rename')
, sourcemaps = require('gulp-sourcemaps');
// default means this task will run whenever you type “gulp” at the command line without any parameters.
gulp.task('uglify:apps', function () {
gulp.src(['core/apps/**/*.js', '!/**/*.min.js'])
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(rename({ extname: ".min.js" }))
.pipe(sourcemaps.write("."))
.pipe(gulp.dest('core/apps/'))
;
});
gulp.task('default', ['uglify:apps']);
1 ответ
gulp-uglify
по состоянию на 15 января 2014 года нет встроенных рабочих карт.
Это текущее решение для получения исходных карт для работы:
npm install gulp-uglify@https://github.com/floridoo/gulp-uglify/tarball/sourcemap_fix --save-dev
var gulp = require('gulp');
var sourcemaps = require('gulp-sourcemaps');
var uglify = require('gulp-uglify');
gulp.task('ug', function(){
gulp.src('./test.js')
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./out'));
});
gulp.task('default', ['ug']);
Пример репо: https://github.com/stevelacy/gulp-test-sourcemaps
В моем банде я обновил gulp-uglify и gulp-sourcemaps так: "gulp-sourcemaps": "2.6.5", "gulp-uglify": "3.0.2",
И я изменил небольшую функцию минимизации из:
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../' }))
чтобы:
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '.' }))
по какой-то причине, когда sourceRoot: '../'
Я не могу видеть источники в браузере (но отладчик; точки останова останавливали выполнение, я просто не видел код)
Весь мой код прямо сейчас
function minifyJs(src, dest) {
var minifyPaths = [src];
return gulp.src(minifyPaths)
.pipe(domSrc.duplex({ selector: 'script[data-concat!="false"]', attribute: 'src', cwd: '../' })) //dont pay attantion here
.pipe(sourcemaps.init())
.pipe(babel({
presets: ["es2015-script"],
compact: false
}))
.pipe(concat(dest))
.pipe(gulp.dest("."))
.pipe(uglify({
compress: {
unused: false
}
}))
.pipe(rename({ extname: '.min.js' }))
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '.' }))
.pipe(gulp.dest("."));
}