跳到主要内容

Browserify + Uglify2 带源映射

Browserify 已经成为一个重要且不可或缺的工具, 但在与 gulp 良好协作之前需要被包装。下面是一个使用 Browserify 的简单配方, 它具有完整的源映射,可以解析到原始的单个文件。

另请参阅:合并流来处理错误配方,用于处理流中 browserify 或 uglify 的错误。

一个用于 Browserify + Uglify2 带源映射的简单 gulpfile.js 文件:

'use strict';

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 log = require('gulplog');

gulp.task('javascript', function () {
// 在任务基础上设置 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', log.error)
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./dist/js/'));
});