这是我的gulpfile.js文件
var gulp = require('gulp');
var browserify = require('browserify');
var source = require("vinyl-source-stream");
var reactify = require("reactify");
var watchify = require('watchify');
var gutil = require('gulp-util');
var paths = {
scripts: ['src/jsx/index.jsx']
};
gulp.task('browserify', function(){
var bundler = watchify(browserify('./src/jsx/index.jsx', watchify.args));
bundler.transform(reactify);
bundler.on('update', rebundle);
function rebundle() {
return bundler.bundle()
// log errors if they happen
.on('error', gutil.log.bind(gutil, 'Browserify Error'))
.pipe(source('bundle.js'))
.pipe(gulp.dest('./public/js'));
}
return rebundle();
});
gulp.task('watch', function() {
gulp.watch(paths.scripts, ['browserify']);
});
然后我的命令行输出看起来像这样:
$ gulp watch
[15:10:41] Using gulpfile ~/blizztrack/dashboard/gulpfile.js
[15:10:41] Starting 'watch'...
[15:10:41] Finished 'watch' after 9.95 ms
保存 index.jsx 文件
[15:10:45] Starting 'browserify'...
[15:10:51] Finished 'browserify' after 5.33 s
第二次保存index.jsx
[15:11:08] Starting 'browserify'...
[15:11:10] Finished 'browserify' after 2.02 s
第三次保存index.jsx文件
没有输出。
前两次它似乎正好做了我想要的事情,但是它在第三次时停止了监视。有没有人能指点一下我?
watchify
的理解是它可以为你处理增量的 browserify 构建。因此,如果你正在使用watchify
,就不需要使用gulp.watch
。我怀疑这两者在某种程度上存在冲突。 - Ben