如何获取gulp+;巴别塔&x2B;browserify&x2B;丑陋的
我正在使用gulp将browserify+babelify与uglifyjs捆绑在一起。O 但是,从我的项目生成的sourcemaps只提供捆绑版本,而不是捆绑版本 以下是我的设置:如何获取gulp+;巴别塔&x2B;browserify&x2B;丑陋的,gulp,browserify,babeljs,uglifyjs,Gulp,Browserify,Babeljs,Uglifyjs,我正在使用gulp将browserify+babelify与uglifyjs捆绑在一起。O 但是,从我的项目生成的sourcemaps只提供捆绑版本,而不是捆绑版本 以下是我的设置: var gulp = require('gulp'), source = require('vinyl-source-stream'), browserify = require('browserify'), gutil = require('gulp-util
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的构建,并且仍然将地图返回到我的babel之前的文件中
我也不介意不使用gulp(实际上我更喜欢grunt,但这种设置在过去对我有用)。首先,您需要将“调试”选项设置为true,将browserify设置为生成源地图,然后如果您想要预babelify源地图,则需要将babelify配置为生成源地图:
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'),
babelify = require('babelify')
file = 'index.js';
gulp.task('build', function(){
return browserify(file,{debug:true}).transform(babelify, {presets: ["es2015", "react"],sourceMaps:true})
.bundle()
.pipe(source(file))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./build/js'))
.pipe(gutil.noop())
})
您好,为什么最后是一个
gutil.noop()
?问题是只给我捆绑版本,而不是捆绑版本
。我想你的意思是只给我捆绑版,而不是非捆绑版。如果是,您可以进行编辑以更新问题。我猜添加gutil.noop()
是为了让另一个gulp任务等待gulp.dest()
完成。但我不认为gulp是这样工作的。我这样做了,但我不能在chrome调试器的某些行中设置断点。主要在函数中未限定范围的行上。有什么建议吗?我发现将{compress:false}
传递到uglify()
可以修复Chrome中的一些奇怪的断点行为。在创建源映射时,我根本不会运行uglify()
。