2016-10-06 9 views
0

gulp.series()がコールバック関数でなぜ起動しないのか分かりません。gulp.series()はタスクを実行しません

私はgulp-promptでユーザー入力から文字列を取得し、gulp.series()でビルドおよびデプロイメント関数を呼び出しようとしています。 gulp.series()内の私の仕事は全く始動しません。

gulp.task('test', function(){ 
    const prompt = require('gulp-prompt'); 
    return gulp.src('test.js') 
    .pipe(prompt.prompt({ 
     type: 'checkbox', 
     name: 'env', 
     message: 'which environment do you want to deploy to?', 
     choices: ['qa','prod'] 
    },function(res){ 
     //console.dir(res.env); 
     var env = res.env; 
     console.log(env); 
     console.log('hi'); 
     gulp.series('clean', 'patternlab:build', 'tag-version', deployWeb.bind(this, env), function(done){ 
      done(); 
     }); 
    })); 
}); 

答えて

1

gulp.series('task1', 'task2')を呼び出すと、ない実行task1task2を行います。それがするのは新しい機能を返すことだけです。一度あなたがを呼び出すと、実際に実行されるタスクはとなります。

var runTasks = gulp.series('clean', 'patternlab:build', 
          'tag-version', deployWeb.bind(this, env)); 
runTasks(); 

あなたのコードでいた全体function(done){ done(); }一部は本当に多くの意味がないとgulp.series()には必要ありません:あなたは次のことを行う必要があり、あなたのケースで意味

+0

ありがとうございました!私はまだdone()が何をするのか理解しようとしています。私はあなたの助けに感謝します! – jmdesigner81

+0

私の質問を修正してくれてありがとう! – jmdesigner81

関連する問題