私はGulpを使ってjavascriptファイルを醜くし、ソースマップを生成しています。ここまでは順調ですね:
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.gzではなくsomeScript.min.js.mapを参照しているため、ソース マップはリンクされていません。私は何が欠けていますか?ファイル参照を正しい拡張子にするにはどうすればよいですか?