2016-04-04 3 views
0

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

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

ответ

0

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

// 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 с приложением как baseDir: "./app" or "app", а также внутренним путем каталогов gulp.watch активов.

Смежные вопросы