2014-02-25 8 views
5

Ich verwende Unterstapel des Watchify für eine bessere Browserify baut innerhalb einer Gulp Uhr Aufgabe, etwa so:mit Watchify

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(); 
}); 

Der Versuch, herauszufinden, wie ich Live-Reload in die Aufgabe übernehmen kann, Es löst also aus, wenn Watchify es getan hat. Irgendeine Idee, wie ich das machen würde?

Antwort

7

Haben Sie versucht, gulp-livereload direkt nach Ihrer gulp.dest()?

sollten Sie in der Lage sein, dies einfach einfügen:

.pipe(livereload()) 

Dies setzt voraus, dass bundler.bundle() Rohre der richtigen Datentypen.

+1

[vinyl-source-stream] (https://github.com/hughsk/vinyl-source-stream) ('.pipe (source ('bundle.js'))' in seinem code) nimmt den text stream piped aus 'bundler.bundle()' und macht es zum Vinyl-Datei-Stream, den gulp benutzt und ersetzt 'gulp.src()'. So können andere gulp plugins nachgereicht werden. – DSKrepps

+0

Ah, danke, ich habe diese Zeile nicht gesehen. Gut zu wissen! – OverZealous

+1

Beachten Sie auch, dass Sie, wenn Sie gulp-connect verwenden, '.pipe (connect.reload())' –