Я новичок в gulp и просматривал примеры настроек. У некоторых людей такая структура:
gulp.task("XXXX", function() {
gulp.src("....
У других есть это:
gulp.task("XXXX", function() {
return gulp.src("....
Мне интересно, какая разница в возврате src ??
javascript
node.js
gulp
boldfacedesignuk
источник
источник
gulp.src()
? Что будет, если вы не вернетесьgulp.src()
?gulp.src(...
, или мы должны делать это всегда?» Этот ответ был бы более полезным, если бы он касался этого вопроса, ИМО; в настоящее время он не объясняет, почему существует много примеров задач, которые вызывают,gulp.src(...
но не возвращают его.return
то система зависимостей может запустить задачу до того, как ее зависимости будут выполнены. У меня есть gulpfile с множеством задач (в основном сгенерированных кодом). Поскольку я не возвращал поток, зависимая задача уже читала файл, пока ее зависимость еще строилась. У меня всякие неприятности ...Если у вас есть зависимые задачи, вам необходимо вернуть поток, чтобы задачи ожидали завершения своих зависимых задач, прежде чем запускаться сами.
например
в этом примере вы ожидаете, что задача 1 будет завершена (например, компиляция coffeescript или что-то еще) до запуска задачи 2 ... но если мы не добавим return, как в примере ниже, они будут выполняться синхронно, а не асинхронно; и скомпилированный coffeescript не будет минифицирован, потому что задача 2 не будет ждать завершения задачи 1 и поэтому не получит скомпилированный вывод задачи 1 . Поэтому мы всегда должны возвращаться в таких обстоятельствах.
Изменить: рецепт здесь объясняет это дальше. https://github.com/gulpjs/gulp/blob/master/docs/recipes/running-tasks-in-series.md
источник
Я нашел это полезным, если у вас есть несколько потоков для каждой задачи. Вам нужно объединить / объединить несколько потоков и вернуть их.
Альтернативой, использующей структуру определения задачи Gulps, могло бы быть:
источник