Browserify + Uglify2 和 sourcemaps

Browserify + Uglify2 和 sourcemaps

Browserify 现在已经成为了一个不可或缺的重要工具了,然后要让它能完美的和 gulp 一起协作,还得需要做一些封装处理。先面便是一个使用 Browserify 并且增加一个完整的 sourcemap 来对应到单独的每个源文件。

同时请看: 组合 Streams 来处理错误 范例来查看如何处理你的 stream 中 browserify 或者 uglify 的错误。

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