Node.js 将gulp livereload与Watchify集成

Node.js 将gulp livereload与Watchify集成,node.js,browserify,livereload,gulp,Node.js,Browserify,Livereload,Gulp,我使用Substack的Watchify在一个Gulp watch任务中实现更好的Browserify构建,如下所示: var gulp = require('gulp'); var source = require('vinyl-source-stream'); var watchify = require('watchify'); var hbsfy = require("hbsfy").configure({ extensions: ["html"] }); gulp.task('

我使用Substack的Watchify在一个Gulp watch任务中实现更好的Browserify构建,如下所示:

var gulp = require('gulp');
var source = require('vinyl-source-stream');
var watchify = require('watchify');

var hbsfy = require("hbsfy").configure({
  extensions: ["html"]
});

gulp.task('watch', function() {
    var bundler = watchify('./public/js/app.js');

    bundler.transform(hbsfy);

    bundler.on('update', rebundle);

    function rebundle() {
        return bundler.bundle()
            .pipe(source('bundle.js'))
            .pipe(gulp.dest('./public/dist/js/'));
    }

    return rebundle();
});
试图找出如何将实时重新加载合并到任务中,以便在Watchify完成任务后触发。你知道我该怎么做吗?

在你吞下.dest()之后,你有没有试过使用它

您只需插入以下内容:

.pipe(livereload())

这假设
bundler.bundle()
使用管道传输正确的数据类型。

.pipe(source('bundle.js'))
在他的代码中)从
bundler.bundle()
导出文本流,并将其作为gulp使用的乙烯基文件流,替换
gulp.src()
。另外,请注意,如果您使用gulp connect,您可以
.pipe(connect.reload())
我发现,
.pipe(livereload())
还不够,您必须添加
.pipe(livereload({start:true}))
,否则livereload服务器将无法启动(显然,您也可以在脚本中的其他地方启动服务器)