Я использую Gulp для uglify javascript-файлов и создания их исходной карты. До сих пор так хорошо:Gulp SourceMaps не работает при использовании gulp-gzip
var gulp = require('gulp');
var plugins = require('gulp-load-plugins')();
gulp.task('compress-js', ['clean-js'], function() {
return gulp.src('./resources/js/**/*.js')
.pipe(plugins.sourcemaps.init())
.pipe(plugins.uglify())
.pipe(plugins.rename({extname: '.min.js'}))
.pipe(plugins.sourcemaps.write('./maps'))
.pipe(gulp.dest('./public/js'))
.pipe(plugins.livereload());
});
Этот код генерирует следующие выходные файлы и папки, которые правильно загружены браузером:
общественности/JS/someScript.min.js
function doSomeStuff(){console.log("This stuff function simply says: hello!!")
//# sourceMappingURL=maps/someScript.min.js.map
public/js/maps/someScript.min.js.map: Обратите внимание, что этот файл ссылается в строке выше.
Однако я также хотел бы GZIP их так, мой обновленный gulpfile.js является:
gulp.task('compress-js', ['clean-js'], function() {
return gulp.src('./resources/js/**/*.js')
.pipe(plugins.sourcemaps.init())
.pipe(plugins.uglify())
.pipe(plugins.rename({extname: '.min.js'}))
.pipe(plugins.sourcemaps.write('./maps'))
.pipe(plugins.gzip())
.pipe(gulp.dest('./public/js'))
.pipe(plugins.livereload());
});
Теперь я получаю эти файлы:
общественности/JS/someScript.min.js.gz
function doSomeStuff(){console.log("This stuff function simply says: hello!!")}
//# sourceMappingURL=maps/someScript.min.js.map
общественные/JS/карты/someScript.min.js.map.gz
карта источник не связан, поскольку файл js.gz ссылается someScript.min.js.map вместо someScript.min.js.map.gz. Что мне не хватает? Как я могу сделать ссылку на файл правильным расширением?