Stworzyłem zadanie gulp do łączenia modułów z browserify i używam watchify, aby oglądać zmiany. Oto moje zadanie łyk dla watchify:Watchify nie zawsze wykrywa zmiany w plikach javascript.
gulp.task('watch:browserify', function() {
var opts = assign({}, watchify.args, {
entries: ['./js/app.js'],
debug: true,
basedir: './app/',
paths: ['./lib']
});
var b = watchify(browserify(opts));
b.on('update', function() {
bundle();
});
function bundle() {
gutil.log(gutil.colors.blue("Starting Browserify..."));
var time = Date.now();
return b.bundle()
.on('error', gutil.log.bind(gutil, gutil.colors.red('Browserify Error')))
.pipe(source('bundle.js'))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest('app'))
.on('end', function() {
var duration = Date.now() - time;
gutil.log(gutil.colors.blue('Finished Browserify') + " (%dms)", duration);
})
}
bundle();
});
Gdybym edytować główne js plików (./js/app.js), zmiana jest zawsze wykrywane. Ale kiedy edytuję inne pliki, których wymaga główny plik, zmiana jest wykrywana mniej więcej co drugi raz (ale nie zawsze). Czy robię coś złego tutaj?
Here is the full Github repo więc może uzyskać pełny pojęcia jak planowałem to zadziałało
mam ten sam problem. nie zawsze wykrywa "małe" zmiany. Nadal uderzam 3-5 razy, aby utworzyć nowe linie. Zawsze go wykryje, a kiedy przebuduje moją aplikację, usuwam linie. Wiem, że to jest niezręczne, ale działa: D – marcel
@marcel tak, teraz robię to samo, ale to naprawdę, naprawdę denerwujące. – tuks
Próbowałem twojego projektu GitHub - wykrywanie zmian we wszystkich plikach javascript w aplikacji/js/.. działa dobrze na mojej maszynie. (Może naprawiłeś to już teraz?) –