gulp ugify如何不压缩sourcemap文件

我对于.js文件,进行了这样的一步打包操作。

        return w_browser.transform("babelify", {presets: ["es2015"]})
                .bundle()
                .on('error', gutil.log.bind(gutil, 'Browserify Error'))
                .pipe(source(path.basename(e.path)))
                .pipe(buffer())
                .pipe(ugify())
                .pipe(sourcemaps.init({loadMaps: true}))
                .pipe(sourcemaps.write('./'))
                .pipe(gulp.dest(dist));

由于ugify()的原因,导致我的sourcemap文件也被压缩了,这样它就失去了作用啊。
怎么可以让sourcemap不被压缩呢?

阅读 4.1k
2 个回答

应该是添加到管道的位置不对。

var browserify = require('browserify');
var gulp = require('gulp');
var source = require('vinyl-source-stream');
var buffer = require('vinyl-buffer');
var uglify = require('gulp-uglify');
var sourcemaps = require('gulp-sourcemaps');
var gutil = require('gulp-util');

gulp.task('javascript', function () {
  // 在一个基础的 task 中创建一个 browserify 实例
  var b = browserify({
    entries: './entry.js',
    debug: true
  });

  return b.bundle()
    .pipe(source('app.js'))
    .pipe(buffer())
    .pipe(sourcemaps.init({loadMaps: true}))
        // 在这里将转换任务加入管道
        .pipe(uglify())
        .on('error', gutil.log)
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./dist/js/'));
});

有问题先看看官网的Demo ,常见的问题和使用技巧都有说明
http://www.gulpjs.com.cn/docs...

把执行压缩放在souremaps.init()sourcemaps.write()中间来写

...

.pipe(sourcemaps.init())
    .pipe(uglify())
.pipe(sourcemaps.write())
.pipe(gulp.dest('./js/dist'));
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进