我正在从(工作但已弃用)gulp-browserify
转移到普通browserify
模块。我的源代码树如下所示:
projectdir
public
js
src
dist
我的gulp任务如下所示:
var source = require('vinyl-source-stream');
gulp.task('js', ['clean'], function() {
// Browserify/bundle the JS.
bundler.bundle()
// log errors if they happen
.on('error', function(err) {
return notify().write(err);
})
.pipe(source('./public/js/src/index.js'))
.pipe(gulp.dest('./public/js/dist'));
});
然而,这写到了public/js/dist/public/js/src/
这显然很糟糕。但是要改变gulp.dest
:
.pipe(gulp.dest('./public/js/dist'));
写在我的项目目录之外!即:
~/Documents/dist/public/js/src/index.js
我已经看过很多使用gulp.src的gulp文档,但我没有使用gulp.src,我正在使用vinyl-source-stream
如何将乙烯基源流输出到public/js/dist
?
答案 0 :(得分:4)
结束了解决这个问题:
var bundler = watchify(browserify({
basedir: "./public/js/src"
}));
// Browserify our code
gulp.task('js', ['clean'], function() {
// Browserify/bundle the JS.
return bundler.bundle()
// log errors if they happen
.on('error', function(err) {
return notify().write(err);
})
.pipe(source('index.js'))
.pipe(gulp.dest('public/js/dist'));
});
要理解的主要事项是source
使用browserify' basedir
,而gulp.dest
则不然。