Ich benutze Schluck Concat und Browserync. Wenn ich gulp starte, startet es browserync und verkettet und lädt alle js-Dateien, die in Modulen gefunden wurden, neu. Das Problem ist, dass es die Verkettung von js-Dateien nur einmal durchführt, also muss ich aufhören, gulp auszuführen und es erneut ausführen, damit ich alle Änderungen sehen kann, die sich in js-Dateien widerspiegeln. Ich sehe nur den Schluck benachrichtigen Task nach dem Stoppen und Neustart Schluck auch. Wie richte ich gulp so ein, dass es immer die js bündelt und kompiliert und dann browersync ausführt?Schluck Concat + Browereryn Neustart
Hier ist meine gulpfile
var gulp = require('gulp');
var concat = require('gulp-concat');
var browserSync = require('browser-sync').create();
var notify = require('gulp-notify');
// default
gulp.task('default', ['browserSync', 'scripts'], function(){
// Reloads the browser whenever HTML or JS files change
gulp.watch('app/*.html', browserSync.reload);
gulp.watch('app/modules/**/*.js', browserSync.reload);
});
gulp.task('scripts', function() {
return gulp.src('app/modules/**/**.js')
.pipe(concat('main.js'))
.pipe(gulp.dest('app/build/js'))
.pipe(notify({ message: 'Scripts in modules have been bundled!' }));
});
//start browsersync
gulp.task('browserSync', function() {
browserSync.init({
server: {
baseDir: 'app'
},
})
})
Dies funktioniert, obwohl ich ein zusätzliches ')' nach 'stream: true' hinzufügen musste. Aus irgendeinem Grund funktioniert gulp notify jetzt nicht, aber es ist nicht entscheidend. Der Build funktioniert jetzt ohne Neustart, danke! – Mills
Ah. Ich habe eine schließende Klammer am Ende der Benachrichtigungs-Pipe verpasst. Versuchen Sie das hinzuzufügen und sehen Sie, ob das funktioniert. Das sollte es beheben. – timolawl
das funktioniert, danke '' '.pipe (notify ({message: 'Skripte in Modulen wurden gebündelt!'})) .pipe (browserSync.reload ({ stream: true })); '' ' – Mills