2016-02-23 4 views
7

ではありません。ブラウザ同期はTypeErrorのargs.cbは、私は、たとえば一口タスクでブラウザ同期を使用している機能

gulp.task('watch',function(){ 
    gulp.watch('app/**/*.html', ['gulp-task']); 
}); 

htmlファイルの最初の時間変化のために、すべてがOKですが、次の変更のために、私はエラーを取得: TypeError: args.cbn is not a function ...

人がラをインストールすると以下のコマンドでブラウザ同期のテスト版をダウンロードしてください:

npm install [email protected] --save-dev 

これは役に立ちません。

でも、同じエラーが発生しています。どうしましたか?

+1

あなたは解決策を見つけますか? – IanEdington

答えて

1

私もこの問題に遭遇し、時計タスクのコールバックから角括弧を削除して解決しました。このような何かをリロードメソッドを使用してみてください、まだ

gulp.task('watch',function(){ 
    gulp.watch(['app/**/*.html'], 'gulp-task'); 
}); 

またはそれ以上:

はにあなたの時計のタスクを変更してみてください

var gulp  = require('gulp'); 
var browserSync = require('browser-sync').create(); 
var jshint  = require('gulp-jshint'); 
var watch  = require('gulp-watch'); 
var reload  = browserSync.reload; 

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

gulp.task('jshint', function() { 
    return gulp.src('src/app/**/*.js') 
      .pipe(jshint()) 
      .pipe(jshint.reporter('jshint-stylish')); 
}); 

// Static server 
gulp.task('serve', function() { 
    browserSync.init({ 
     server: { 
      baseDir: "./src" 
     } 
    }); 
}); 

gulp.task('watch', function() { 
    gulp.watch(['src/**/*.html', 'src/app/**/*.js'], reload); 
}); 
2

ブラウザ同期の文書を読んだ後、私は気づきましたメソッド.init(config, cb)はの2つのパラメータ

gulp.task('gulp-task',function(){ 
    browserSync.init({ 
     server:{ 
      baseDir: 'app' 
     } 
    }) 
    //rest of task 
},function(){ 
    // something you want to do 
}); 
の2つのパラメータに変更しました。
+0

ありがとう!あなたは 'null 'を解析することもできます。 – NinjaFart

2

「時計」を定義する際に、すべてのタスクを監視する前に実行する必要があることを宣言する必要があります。これにより問題が解決されます。 パラメータのウォッチタスクリストに、事前に計画されたタスクを含む余分なパラメータを追加する必要があります。

gulp.task( '時計'、[ 'browserSync'、 'サス']、機能(){...})

var gulp = require('gulp'); 
 
var sass = require('gulp-sass'); 
 
var browserSync = require('browser-sync').create(); 
 

 
gulp.task('hello', function() { 
 
    console.log('Hello Gulp-Shash'); 
 
}); 
 

 
gulp.task('sass', function(){ 
 
    return gulp.src('app/scss/**/*.scss') 
 
    .pipe(sass()) 
 
    .pipe(gulp.dest('app/css')) 
 
    .pipe(browserSync.reload({ 
 
     stream: true 
 
    })) 
 
}); 
 

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

 
gulp.task('watch', ['browserSync', 'sass'], function(){ 
 
    gulp.watch('app/scss/**/*.scss', ['sass']); 
 
})

関連する問題