Стек TALL: TailwindCSS, Alpine.js, Laravel, Livewire

Что такое стек TALL

TALL — это аббревиатура, которая описывает основные технологии, используемые в стеке:

Этот стек был популяризирован Мэттом Штауффером, который создал сайт tallstack.dev, чтобы рассказать о преимуществах совокупности этих инструментов. С помощью них также был создан сайт novapackages.com.

tallstack.dev

Для Laravel создан фронтенд-пресет, который поможет вам быстро начать работу со стеком. Он забирает на себя всю трудоемкую часть, связанную с настройками нового приложения и предоставляет хорошо продуманный макет. Вот несколько его примечательных фишек:

  • Фронтенд-ресурсы, такие как TailwindCSS и AlpineJS, настраиваются с помощью Laravel Mix.
  • Расширения Tailwind UI и Кастомные формы Tailwind доступны из коробки.
  • Шаблоны расширяют дефолтный макет.
  • Пагинация в стиле Tailwind

Как установить пресет в Laravel:

composer require livewire/livewire laravel-frontend-presets/tall
php artisan ui tall
npm install
npm run dev

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

composer require livewire/livewire laravel-frontend-presets/tall
php artisan ui tall --auth
npm install
npm run dev

В каркасе аутентификации есть несколько примечательных вещей:

  • Большинство каркасов аутентификации идут как компоненты Livewire
  • Части, которые не могут быть компонентами, настроены как контроллеры одного действия (single-action controllers)
  • Аутентификационные компоненты укомплектованы полными тестами

Все маршруты, компоненты, контроллеры и тесты публикуются в приложение. Идея заключается в том, что вы получаете полный контроль над каждым аспектом каркаса в своем приложении, и вам не нужно копаться в папке вендора, чтобы понять, как это всё работает.

TALL

Данный пресет был составлен Дэном Харрином, Райаном Чендлером и Лиамом Хамметтом.

Если вы хотите использовать эти технологии в своем проекте, то рекомендуем ознакомиться с документацией пресета.

Автор: Liam Hammett
Перевод: Алексей Широков

Наш Телеграм-канал — следите за новостями о Laravel.