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. Затем этот каталог может содержать ваши отдельные модули для задач. Если вы используете транспилятор, назовите папку и файл соответствующим образом.