与Gulp一起使用BrowserSync时出错

时间:2015-03-18 23:45:09

标签: javascript gulp

当我收到错误时,Gulp对我来说运行正常,直到保存文件:"任务' browsersync.reload'不在你的gulpfile"。我不确定我做错了什么(我遵循Gulp教程,据我所知,来源是相同的。)

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']);

2 个答案:

答案 0 :(得分:2)

  

我收到错误:"任务' browsersync.reload'不在你的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的任务,您显然不会这样做。

提示:也许这不是你应该去的任务?

答案 1 :(得分:1)

解决:我从中学到这本书是错误的。在http://www.browsersync.io/docs/api/的帮助下,我能够弄清楚' browsersync.reload'不应该有任何报价。编辑:

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]);
});