Средний проект — это просто набор различных типов файлов, которые необходимо

* проверено,
* скомпилировано,
* объединено,
* скопировано,
* уменьшено,
* и все остальное, необходимое для создания приложения или сайта. Task Runner автоматизирует все эти утомительные и, честно говоря, невыполнимые задачи. Он делает это, вызывая методы либо из созданного пользователем, либо из готового пакета, полученного из Диспетчера пакетов.

Диспетчер пакетов – это приложение, которое загружает, устанавливает, обновляет и даже документирует готовые пакеты в вашем проекте, чтобы исполнители задач могли их использовать. Есть несколько менеджеров пакетов на выбор, но ради здравого смысла я буду говорить о Node Package Manager (npm).

Пример использования

В качестве быстрого примера давайте поговорим о Sass.

Для файлов Sass требуется команда для компиляции всех ваших файлов импорта и вложенных селекторов в удобный для браузера CSS. Хотя запускать это вручную стоит и довольно просто, это повторяется и утомительно и, помните, ниже вашего уровня. Хуже всего то, что это добавляет дополнительное время к вашему рабочему процессу.

Используя npm, мы можем установить пакет компилятора Sass и определить этот пакет как зависимость нашего проекта. Теперь, когда наш менеджер пакетов выполнил свою часть работы, действие компилятора Sass можно вызвать из Task Runner, и таким образом повторяющаяся задача оказывается в надежных руках вероятно неразумной программы. .

Теперь вы можете вернуться к выяснению того, как выровнять по вертикали этот странный логотип, который вы разработали.

Обзор задач

Каждый Task Runner предложит вам по-своему сказать, какие Задачи вы хотите запустить. Основная концепция заключается в том, чтобы определить, как должна вести себя каждая задача и когда она должна выполняться.

Определение поведения задачи осуществляется путем определения ее атрибутов. Обычно это означает исходные файлы (с чем работать) и каталог назначения (куда поместить результаты), но он также может включать атрибуты, которые являются более специализированными или даже уникальными для данного пакета.

В этом мире есть два типа задач: готовые пакеты, которые вы устанавливаете из npm, и пользовательские задачи, которые вы создаете в своих собственных файлах JavaScript. Пользовательские задачи чрезвычайно полезны, но они более сложны, чем я хочу рассказать в этой статье, но следите за обновлениями.

Вот список готовых пакетных задач, которые вы захотите запустить в любом заданном проекте:

  • Линтинг-код
  • Запуск модульных тестов
  • Создание документации (JSDocs, ngDocs, DSS и т. д.)
  • Компиляция Sass/SCSS или LESS
  • Объединение файлов
  • Минификация файлов
  • Копирование файлов и ресурсов

Чтобы завершить эти задачи, вы можете включить локальный сервер, который будет имитировать поведение живого веб-сайта, активировать аффилированную задачу наблюдать за файлами, которая будет запускать предыдущие задачи, когда указанный файл- введите изменения, а затем активируйте задачу автоматического обновления страницы. Теперь весь ваш рабочий процесс автоматизирован таким образом, что простое сохранение документа переводит ваши изменения в активное представление и даже обновляет браузер для вас!

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

Большое спасибо за прочтение, надеюсь, вы нашли для себя что-то полезное!