JavaScriptをバンドルするための次のgulpタスクがあります。
gulp.task('js', function () {
return gulp.src(paths.js)
.pipe(sourcemaps.init())
.pipe(uglify())
.pipe(concat('bundle.min.js'))
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('dist'));
});
Chrome 開発ツールでこれを実行すると、ソースマップが見つかり、ブレークポイントが機能しますが、変数をデバッグできません。
次のAngularコードのチャンクの例を見てください:
iarApp.config(['$animateProvider', function ($animateProvider) {
$animateProvider.classNameFilter(/angular-animate/);
}]);
の値を確認するためにブレークポイントを追加すると$animateProvider
、次のようになります。
しかし、Uglify で変数マングリングをオフにすると、次のようになります。
.pipe(uglify({ mangle: false }))
それは動作します:
そのため、Uglify が名前をマングルした後、gulp-sourcemaps プラグインは変数を追跡できないようです。
他の誰かが同じ問題を抱えたり、解決策を知ったりできますか?