Gulp BrowserSync не создает сервер

Я создал этот gulpfile, который работал, когда я начал работать над проектом. В последние недели я не работал над этим проектом, и теперь я понимаю, что когда я запускаю команду «gulp watch», BrowserSync больше не создает сервер.

var gulp = require('gulp');
var sass = require('gulp-sass'); // do sass
var jade = require('gulp-jade'); // do jade
var autoprefixer = require('gulp-autoprefixer'); // autoprefix css
var browserSync = require('browser-sync').create(); // browserSync

gulp.task('styles', function(){
   gulp.src('app/scss/styles.sass')
   .pipe(sass({ style: 'expanded' }))
   .pipe(autoprefixer('last 2 version'))
   .pipe(gulp.dest('app/css'))
   .pipe(browserSync.reload({
      stream: true
   }))
});

gulp.task('jade', function(){
    gulp.src('app/index.jade')
   .pipe(jade({pretty: true}))
   .pipe(gulp.dest('app/'))
   .pipe(browserSync.reload({
      stream: true
   }))
});

gulp.task('browserSync', function() {
  browserSync.init({
    server: {
      baseDir: 'app'
    },
  })
});

gulp.task('watch', ['browserSync', 'styles', 'jade'], function() {
   gulp.watch('app/scss/**/*.sass', ['styles']);
   gulp.watch('app/_jadefiles/**/*.jade', ['jade']);
   gulp.watch('app/index.jade', ['jade']);
   gulp.watch('app/js/**/*.js', browserSync.reload);
   gulp.watch('app/*.html', browserSync.reload);
});

Командная строка говорит

[18:06:12] Using gulpfile ~\Desktop\new app\gulpfile.js
[18:06:12] Starting 'browserSync'...
[18:06:12] Finished 'browserSync' after 18 ms
[18:06:12] Starting 'styles'...
[18:06:12] Finished 'styles' after 17 ms
[18:06:12] Starting 'jade'...
[18:06:12] Finished 'jade' after 3.82 ms
[18:06:12] Starting 'watch'...
[18:06:12] Finished 'watch' after 39 ms

Любые идеи о том, как это исправить?


person Bjorn    schedule 04.04.2016    source источник


Ответы (1)


переместите свои задачи gulp.watch в задачу browsersync, и к тому времени все должно быть в порядке, взгляните на мой пример.

// Browser-sync task
gulp.task('serve', ['sass', 'compress'], function() {
    browserSync.init({
        server: {
            baseDir: "./"
        }
    });

  gulp.watch('src/*.js', ['compress']);
  gulp.watch('**/*.scss', ['sass']);
  gulp.watch("index.html").on("change", reload);

});
gulp.task('watch', ['serve']);

поэтому в вашем случае вы должны заменить baseDir на app как baseDir: "./app" or "app", а также путь к внутренним каталогам активов gulp.watch.

person Danish    schedule 26.05.2016