我使用browserify和6to5ify將ES6編譯爲JS並組裝項目。 問題是我找不到任何解決方案,如何縮小編譯的JavaScript,併爲縮小的js生成源地圖。使用Browserify縮小ES6並生成源地圖
我生成任務的代碼是:
'use strict';
var gulp = require('gulp'),
source = require('vinyl-source-stream'),
plumber = require('gulp-plumber'),
browserify = require('browserify'),
buffer = require('vinyl-buffer'),
uglify = require('gulp-uglify'),
buildErrorHandler = require('./../utilities/build-error-handler').handleBuildError
;
gulp.task('js:build-scripts', function() {
var commandLineParameters = process.argv.slice(2);
var releaseModeRequired = commandLineParameters.indexOf('--release') > -1;
var bundler = browserify({
debug: true,
entries: ['./src/js/entry-point.js']
})
;
var pipeLine = bundler
.transform('6to5ify')
.bundle()
.on('error', buildErrorHandler)
.pipe(plumber({
errorHandler: buildErrorHandler
}))
.pipe(source('application.js'));
if(releaseModeRequired){
pipeLine = pipeLine.pipe(buffer())
.pipe(uglify());
}
pipeLine =pipeLine.pipe(gulp.dest('build/js'))
;
return pipeLine;
});
如果我不運行如下代碼,sourcemaps工作正常,但如果我醜化了,sourcemaps消失。
我嘗試了幾個解決方案,如this或this但它們都不起作用。
編輯:
"browserify": "^8.1.3",
"gulp": "^3.8.10",
什麼版本的browserify和gulp-uglify?您還需要將gulp-sourcemaps集成到您的管道中。 – JMM 2015-03-03 15:07:09