2015-03-18 4 views
2

Gulp работает отлично для меня, пока не сохраняет файл, когда я получаю сообщение об ошибке: «Задача« browsersync.reload »не находится в вашем gulpfile». Я не уверен, что я делаю неправильно (я следую руководству Gulp, и, насколько я понимаю, источник тот же).Ошибки при использовании BrowserSync с Gulp

Глоток файл:

// Load Node Modules/Plugins 
var gulp = require('gulp'); 
var concat = require('gulp-concat'); 
var sass = require('gulp-sass'); 
var uglify = require('gulp-uglify'); 
var jshint = require('gulp-jshint'); 
var imagemin = require('gulp-imagemin'); 
var connect = require('connect'); 
var serve = require('serve-static'); 
var browsersync = require('browser-sync'); 

// Styles task 
gulp.task('styles', function(){ 
    return gulp.src('app/css/*.scss') 
     .pipe(sass()) 
     .pipe(gulp.dest('dist')); 
}); 

gulp.task('scripts', function(){ 
    return gulp.src('app/js/*.js') 
     .pipe(jshint()) 
     .pipe(jshint.reporter('default')) 
     .pipe(concat('all.js')) 
     .pipe(uglify()) 
     .pipe(gulp.dest('dist')); 
}); 

gulp.task('images', function(){ 
    return gulp.src('app/img/*') 
     .pipe(imagemin()) 
     .pipe(gulp.dest('dist/img')); 
}); 

gulp.task('server', function(){ 
    return connect().use(serve(__dirname)) 
      .listen(8080) 
      .on('listening', function(){ 
       console.log('Server Running: View at http://localhost:8080'); 
      }); 
}); 

gulp.task('browsersync', function(cb) { 
    return browsersync({ 
     server: { 
      baseDir:'./' 
     } 
    }, cb); 
}); 

gulp.task('watch', function(){ 
    gulp.watch('app/css/*.css', ['styles', 'browsersync.reload']); 
    gulp.watch('app/js/*.js', ['scripts', 'browsersync.reload']); 
    gulp.watch('app/img/*', ['images', 'browsersync.reload']); 
}); 

gulp.task('default', ['styles', 'scripts', 'images', 'server', 'browsersync', 'watch']); 

ответ

1

Решенный: Книга, которую я изучаю, неверна. С помощью http://www.browsersync.io/docs/api/ мне удалось выяснить, что «browsersync.reload» не должен иметь никаких кавычек. Edit:

gulp.task('watch', function(){ 
    gulp.watch('app/css/*.css', ['styles', browsersync.reload]); 
    gulp.watch('app/js/*.js', ['scripts', browsersync.reload]); 
    gulp.watch('app/img/*', ['images', browsersync.reload]); 
}); 
+0

Я обычно делаю это в верхней части моего gulpfile.js: 'вар BS = требуется («браузерных синхронизации»);', а затем ниже, что 'вар перезагрузка = bs.reload;' Тогда ваши вы можете: 'gulp.watch ('...', ['task', reload]);' Это то же самое, что вы указали чуть меньше, набрав. –

2

I get an error: "Task 'browsersync.reload' is not in your gulpfile"

Чтение сообщение об ошибке должно привести вас к этим линиям:

gulp.watch('app/css/*.css', ['styles', 'browsersync.reload']); 
gulp.watch('app/js/*.js', ['scripts', 'browsersync.reload']); 
gulp.watch('app/img/*', ['images', 'browsersync.reload']); 

Вы пытаетесь выполнить задачу под названием browsersync.reload, который вы, очевидно, не иметь.

Подсказка: возможно, это не задача, которую вы должны запустить?

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