Минимизируйте ES6 и создавайте исходные карты с помощью Browserify

Я использую browserify и 6to5ify для компиляции ES6 в JS и сборки проекта. Проблема в том, что я не могу найти никакого решения, как минимизировать скомпилированный javascript и создать исходные карты для минифицированного js.

Мой код задачи сборки:

'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;
});

Если я не минимизирую код, исходные карты работают нормально, но если я их искажаю, исходные карты исчезают.

Я пробовал несколько решений, таких как это или это, но ни один из них не работает.

ОТРЕДАКТИРОВАНО:

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

person Andrew Kovalenko    schedule 02.03.2015    source источник
comment
Какие версии browserify и gulp-uglify? Вам также потребуется интегрировать gulp-sourcemaps в ваш конвейер.   -  person JMM    schedule 03.03.2015


Ответы (1)


Это было проблемой с Browserify + Uglify.js в течение длительного времени. Это исправлено в этом коммите, но еще не выпущено и был выпущен с v2.4.21.

person mantoni    schedule 04.03.2015
comment
Похоже, это было выпущено с версией 2.4.21. - person Frederik Krautwald; 14.05.2015