0
我正在使用gulp來uglify JavaScript文件並生成它們的源映射。到目前爲止好:使用gulp-gzip時Gulp SourceMaps不工作
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。我錯過了什麼?我怎樣才能使文件引用正確的擴展名?