2016-10-21 2 views
0

최근에 꿀꺽 거리는 소리 4로 업그레이드되었으며 최근 내보내기 프로세스에 대한 오랜 문제를 해결하려고합니다.덤프에서 다른 작업에서 반복적으로 작업을 시작하는 방법 4

즉, 내 프로젝트에는 3 가지 (또는 그 이상) 독립 폴더가 있습니다. 독립적으로 나는 그들 각각이 그들 자신의 bundle.js와 global.css 파일을 가지고 있다는 것을 의미한다. 나는 target에 필요한 모든 경로를 생성하는 데 사용되는 내 gulpfile에 target 변수를 설정했습니다.

전체 프로젝트를 내보낼 때 gulpfile에서 target 변수를 수동으로 변경 한 다음 export 작업을 실행해야합니다.

나는처럼 작동 뭔가가 필요 다음합니다 (other_folders 배열을 변경할 수있는) 문제는 내가 forEach 루프에서 꿀꺽 꿀꺽 작업을 호출 할 수있는 방법을 찾을 수가 없어 할 수 있다는 것입니다

/*---------- Exports current target ----------*/ 
gulp.task('export', gulp.series(to_prod,'export_files', 'export_scripts_and_styles', 'export_fonts', 'export_core')); 

/*---------- Exports all targets ----------*/ 
gulp.task('export_all', function(done){ 
    var needs_exporting = other_folders.concat("website"); 

    needs_exporting.forEach(function(export_this){ 
     target = export_this; 
     set_paths(); 

     // Here it needs to fire the generic export task 
     gulp.series('export'); 
    }); 

    done(); 
}); 

. 이 작업을 수행 할 수있는 방법이 있습니까? 아니면 해결 방법이 필요합니까?

+1

가능한 복제를() 아무튼 ' t 실행 작업] (http://stackoverflow.com/questions/39902010/gulp-series-doesnt-run-tasks) –

+0

@SvenSchoenung 그러나이 문제는 부분적으로 해결되었지만 첫 번째 작업 이후에만 다음 "내보내기"작업을 실행해야합니다 하나 완료됩니다. 어떤 아이디어? – NealVDV

답변

1

gulp.series('export')을 호출해도 즉시 export 작업이 시작되지 않습니다. export 작업을 시작하기 위해 호출해야하는 함수를 반환합니다.

그러나 반환 된 함수를 호출해도 즉시 export 작업이 시작되지 않습니다. 함수는 비동기입니다. 나중에 만 실제로 시작한 export 작업입니다.

시리즈의 컬렉션의 각 요소에 대해 비동기 기능을 실행하는 가장 쉬운 방법은 async 패키지에서 제공 년대 eachSeries() 기능을 사용하는 것입니다 : [gulp.series의

var async = require('async'); 

gulp.task('export_all', function(done){ 
    var needs_exporting = other_folders.concat("website"); 

    async.eachSeries(needs_exporting, function(export_this, cb) { 
     target = export_this; 
     set_paths(); 

     gulp.series('export')(cb); 
    }, done); 
}); 
+0

완벽하게 일했습니다! 또한 내 질문을 편집 해 주셔서 감사 드리며 올바르게 질문하는 법을 배우십시오. – NealVDV