2015-03-02 67 views
1

我使用browserify6to5ify將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消失。

我嘗試了幾個解決方案,如thisthis但它們都不起作用。

編輯:

"browserify": "^8.1.3", 
"gulp": "^3.8.10", 
+0

什麼版本的browserify和gulp-uglify?您還需要將gulp-sourcemaps集成到您的管道中。 – JMM 2015-03-03 15:07:09

回答

2

這已經與Browserify + Uglify.js的問題很長一段時間。 It got fixed in this commit,但尚未發佈,並與v2.4.21發佈。

+1

看起來這是與版本2.4.21一起發佈的。 – 2015-05-13 23:02:08