JavaScript и Gulpfiles#

Gulp позволяет вам использовать существующие знания JavaScript для написания файлов gulp или использовать ваш опыт работы с gulpfiles для написания простого JavaScript. Хотя для упрощения работы с файловой системой и командной строкой предоставляется несколько утилит, все остальное, что вы пишете, является чистым JavaScript.

Объяснение Gulpfile#

Gulpfile - это файл в каталоге вашего проекта под названием gulpfile.js (или с заглавной буквы Gulpfile.js, например Makefile), который автоматически загружается при запуске команды gulp. В этом файле вы часто будете видеть API-интерфейсы gulp, такие как src(), dest(), series() или parallel(), но можно использовать любые стандартные модули JavaScript или Node. Любые экспортированные функции будут зарегистрированы в системе задач gulp.

Транспиляция#

Вы можете написать gulpfile, используя язык, требующий транспиляции, например TypeScript или Babel, изменив расширение в вашем gulpfile.js, указав язык, и установив соответствующий модуль транспилятора.

  • Для TypeScript переименуйте в gulpfile.ts и установите модуль ts-node.
  • Для Babel переименуйте в gulpfile.babel.js и установите модуль @babel/register.

Большинство новых версий узла поддерживают большинство функций, предоставляемых TypeScript или Babel, за исключением синтаксиса import/export. Если требуется только этот синтаксис, переименуйте его в gulpfile.esm.js и установите модуль esm.

Более подробные сведения об этой теме и полный список поддерживаемых расширений можно найти в нашей документации gulpfile transpilation.

Разделение gulpfile#

Многие пользователи начинают с добавления всей логики в файл gulp. Если он когда-либо станет слишком большим, его можно будет преобразовать в отдельные файлы.

Каждую задачу можно разделить на отдельный файл, а затем импортировать в gulpfile для композиции. Это не только сохраняет порядок, но и позволяет тестировать каждую задачу независимо или изменять композицию в зависимости от условий.

Разрешение модуля узла позволяет вам заменить ваш файл gulpfile.js каталогом с именем gulpfile.js, который содержит файл index.js, который рассматривается как gulpfile.js. Затем этот каталог может содержать ваши отдельные модули для задач. Если вы используете транспилятор, назовите папку и файл соответствующим образом.