【发布时间】:2015-12-28 08:07:02
【问题描述】:
我正在使用 gulp 将 browserify+babelify 与 uglifyjs 捆绑在一起。 ○ 但是,从我的项目生成的源地图只给了我捆绑的版本,而不是捆绑的版本。
这是我的设置:
var gulp = require('gulp'),
source = require('vinyl-source-stream'),
browserify = require('browserify'),
gutil = require('gulp-util'),
buffer = require('vinyl-buffer'),
sourcemaps = require('gulp-sourcemaps'),
uglify = require('gulp-uglify'),
file = 'index.js';
gulp.task('build', function(){
return browserify({
entries: [file],
transform: ["babelify"]
})
.bundle()
.pipe(source(file))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./public/js'))
.pipe(gutil.noop())
})
有没有办法让我创建一个捆绑 babel=>browserify=>uglify 的构建,并且仍然将映射返回到我的 pre-babel 文件?
我也不介意不使用 gulp(我实际上更喜欢 grunt,但这种设置过去对我有用)。
【问题讨论】:
-
嗨,为什么最后是
gutil.noop()? -
问题状态为
only give me the bundled version, not the bundled version。我假设您的意思是only give me the bundled version而不是 unbundled 版本。如果是这样,您可以进行编辑以更新问题。 -
我的猜测是添加了
gutil.noop()是为了让gulp.dest()完成另一个 gulp 任务等待。但我不认为 gulp 是这样工作的。
标签: gulp browserify babeljs uglifyjs