2016-10-06 2 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(); 

정말 많은 이해가되지 않습니다 코드에 있었고 gulp.series() 필요하지 않습니다 전체 function(done){ done(); } 부분.

+0

감사합니다. 나는 아직도 done()이하는 것을 이해하려고 노력하고있다. 도와 줘서 고마워! – jmdesigner81

+0

제 질문 수정에 감사드립니다. – jmdesigner81

관련 문제