【发布时间】:2015-07-10 08:23:58
【问题描述】:
我正在使用 Gulp 对 javascript 文件进行 uglify 并生成它们的源映射。到目前为止一切顺利:
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());
});
此代码生成以下输出文件夹和文件,它们已被浏览器正确加载:
public/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());
});
现在我得到了这些文件:
public/js/someScript.min.js.gz
function doSomeStuff(){console.log("This stuff function simply says: hello!!")}
//# sourceMappingURL=maps/someScript.min.js.map
public/js/maps/someScript.min.js.map.gz
未链接源映射,因为 js.gz 文件引用 someScript.min.js.map 而不是 someScript.min.js.map.gz .我错过了什么?如何使文件引用正确的扩展名?
【问题讨论】:
标签: node.js express gzip gulp gulp-sourcemaps