У меня есть Глоток сборка задача, которая состоит из других задач сборки подобных этому:Задачи Gulp из других задач 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 секунды, так как все его зависимости заняли так много времени. Было бы хорошо, если бы это выглядело примерно так:
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
является первой вещью, которая «начинается», то все зависимости бежать, а затем build
заканчивается.
Итак, что мне интересно, вместо использования зависимостей задач, могу ли я просто вызвать каждую задачу по одному из заданий build
? Если да, какую команду я использую для этого?
Это плохая идея? Есть ли лучшее решение этой проблемы?
Есть ли причина, вы должны быть в состоянии напечатать общее время все задачи сборки таким образом? – lukewestby
Мне просто интересно, как долго общее время сборки. Вышеприведенный пример значительно упрощен. На самом деле, некоторые задачи сборки занимают намного больше времени, когда они связаны с загрузкой файлов на удаленные серверы, взаимодействиями с источником, оптимизацией сотен изображений и т. Д. –
На самом деле вы не запускаете 'build', сначала вы запускаете его после все задания. Вы просто хотите знать, сколько задач выполнялось для выполнения dist, или вам нужно последовательно выполнять задачи? Редактировать: (Я прочитал ваш комментарий раньше) – Rigotti