2014-12-30 5 views
3

내가 이와 유사한 다른 빌드 작업들로 구성되는 꿀꺽 빌드 작업이 있습니다다른 Gulp 작업 내에서 꿀꺽 거리는 작업?

gulp.task('build', ['build-html', 'build-css', 'build-js', 'build-images']); 

나는 이것에 대해 싫어하는 것은이 build 작업 종속성이 완료 때까지 실행되지 않는다는 것입니다 :

Starting 'build-html'... 
Finished 'build-html' after 1 s 
Starting 'build-css'... 
Finished 'build-css' after 1 s 
Starting 'build-js'... 
Finished 'build-js' after 1 s 
Starting 'build-images'... 
Finished 'build-images' after 1 s 
Starting 'build'... 
Finished 'build' after 1 ms 

이제 분명히 build은 종속성이 완료 될 때까지 전혀 실행되지 않아 예상대로 작동합니다. 그러나이 결과는 콘솔에 build이 실제로 1 초 밖에 걸리지 않았다고 말합니다. 실제로 4 초가 걸릴 것이라고 말하면됩니다. 왜냐하면 모든 의존성이 그렇게 오래 걸렸기 때문입니다. build는 "시작은"모든 종속성 다음, build 완료를 실행하는 것이 첫 번째 일이 얼마나

Starting 'build'... 
Starting 'build-html'... 
Finished 'build-html' after 1 s 
Starting 'build-css'... 
Finished 'build-css' after 1 s 
Starting 'build-js'... 
Finished 'build-js' after 1 s 
Starting 'build-images'... 
Finished 'build-images' after 1 s 
Finished 'build' after 4 s 

주의 사항 :이 이런 식으로 뭔가를보고 있다면 그것은 좋은 것입니다.

작업 의존성을 사용하는 대신에 build 작업 내에서 각 작업을 한 번에 하나씩 호출 할 수 있습니까? 그렇다면 어떤 명령을 사용하여이 작업을 수행합니까?

이것은 나쁜 생각입니까? 이 문제에 대한 더 나은 해결책이 있습니까?

+0

: 당신의 build 작업의 유일한 목적없이 특정 순서로 모든 build-* 작업을 시작하는 것이기 때문에

,이처럼 보일 수 있습니다 이런 방식으로 모든 빌드 작업을 할 수 있습니까? – lukewestby

+0

총 빌드 시간이 얼마나되는지 궁금합니다. 위의 예는 크게 단순화되었습니다. 실제로는 원격 서버에 파일 업로드, 소스 컨트롤 상호 작용, 수 백개의 이미지 최적화 등을 포함하여 빌드 작업이 더 오래 걸립니다. –

+0

실제로 처음에는'build'를 실행하지 않고, 모든 업무가 방해 받는다. dist를 수행하는 데 필요한 모든 작업을 알고 싶습니까? 아니면 순차적으로 작업을 수행해야합니까? 편집 : (전에 귀하의 의견을 읽었습니다) – Rigotti

답변

1

runSequence 플러그인을 사용하여 원하는 것을 수행 할 수 있습니다. 당신이 총 시간을 인쇄 할 수 있어야 이유가 있나요

var rs = require('run-sequence'); 

gulp.task('build', function (cb) { 
    rs(['build-css', 'build-html', 'build-js', 'build-images'], cb); 
}); 
관련 문제