2016-10-30 11 views
2

カスタム関数を呼び出す以外の何もしないGulpタスクを作成しようとしています。いいえ、ソースファイルがありません。いいえ、コピー先ファイルがありません。スタンドアロンタスクでカスタム関数を呼び出すだけなので、それに応じて他のタスクを実行できます。単に関数を呼び出すGulpタスクを作成するにはどうすればいいですか?

私の愛のために、私はGoogleとSOをチェックして、例を見つけることができませんでした。私が来ている最も近いが今これはmyCustomFunctionを呼ぶんこの

var through = require('through2'); 

gulp.task(
    'my-custom-task', 
    function() 
    { 
     return through.obj(
      function write(chunk, enc, callback) { 
       // here is where the custom function is called 
       myCustomFunction('foo', 'bar'); 
       callback(null, chunk); 
      } 
     ); 
    } 
); 

ですが、私はgulp my-custom-taskでタスクを実行すると、私が始まるが、仕上げではないタスクを見ることができます。

[10:55:37] Starting 'clean:tmp'... 
[10:55:37] Finished 'clean:tmp' after 46 ms 
[10:55:37] Starting 'my-custom-task'... 

どのように私は自分の仕事を正しく書くべき?

答えて

4

あなただけのいくつかの機能を実行するタスクをしたい場合は、単に行うこと:あなたの関数は非同期で、それが最後にコールバックを何かを呼び出す必要がないので、がぶ飲みはときに知ることができる場合

gulp.task('my-custom-task', function() { 
    myCustomFunction('foo', 'bar'); 
}); 

それが行われています:あなたのソリューションが動作しない理由については

gulp.task('my-custom-task', function (callback) { 
    myCustomFunction('foo', 'bar', callback); 
}); 

を、throughはストリームと連携するための方法である使用します。これを使用して.pipe()をgulpストリームに変換できるハンドラを作成できます。実際にはガルフストリームを使用しているものはないので、ストリームハンドラを作成したり、ここで使用する必要はありません。

+0

これを理解した後でこれは簡単です。ありがとう! –

+0

@ J.Doe、他のファイルにある関数をgulpタスクにどのようにインポートしますか? –

+0

@ bartosz.baczekあなたは 'require'を使ってインポートできる他のものと同様に、gulp用の関数をインポートできます。 – poke

関連する問題