Как включить горячую перезагрузку модулей в Laravel с помощью Laravel Sail и Mix

Горячая перезагрузка модулей в Laravel с использованием Laravel Sail и Mix

Горячая перезагрузка модуля – это мощная функция, которая позволяет разработчикам видеть изменения, вносимые в их код, немедленно отраженные в браузере, без необходимости обновлять страницу вручную. В этой статье мы рассмотрим, как настроить горячую перезагрузку модулей в Laravel с помощью Laravel Sail и Laravel Mix.

Шаг 1. Установите Laravel Sail

Laravel Sail — это легкий интерфейс командной строки для взаимодействия со средой разработки Docker по умолчанию в Laravel. Для начала убедитесь, что на вашем компьютере установлен Docker. Затем откройте терминал и перейдите в каталог проекта Laravel. Чтобы установить Laravel Sail, выполните следующую команду:

composer require laravel/sail --dev

Шаг 2. Настройте Laravel Sail

После установки Laravel Sail вам необходимо настроить его для своего проекта. Выполните следующую команду, чтобы создать файл конфигурации Sail:

php artisan sail:install

Эта команда создаст файл docker-compose.ymlв корне вашего проекта Laravel. Откройте файл и убедитесь, что раздел servicesсодержит следующую конфигурацию службы вашего приложения:

services:
    laravel.test:
        build:
            context: .
            dockerfile: Dockerfile
        image: sail-7.4/app
        ports:
            - '80:80'
        environment:
            WWWROOT: /var/www/html/public

Шаг 3. Установите Laravel Mix

Далее нам нужно установить Laravel Mix, который представляет собой гибкую оболочку Webpack для компиляции и объединения ресурсов. Чтобы установить Laravel Mix, выполните следующую команду:

npm install laravel-mix --save-dev

Шаг 4. Настройте Laravel Mix для горячей перезагрузки модулей

Чтобы включить горячую перезагрузку модулей в Laravel Mix, откройте файл webpack.mix.jsв корне вашего проекта Laravel. Добавьте следующий код, чтобы включить опцию hmr(горячая замена модуля):

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css')
   .options({
       hmrOptions: {
           host: 'localhost',
           port: 8080
       }
   })
   .webpackConfig(require('./webpack.config'));

Обязательно замените resources/js/app.jsи resources/sass/app.scssпутями к файлам JavaScript и Sass соответственно.

Шаг 5. Запустите сервер разработки

Теперь, когда все настроено, вы можете запустить сервер разработки с помощью Laravel Sail. Запустите следующую команду в своем терминале:

./vendor/bin/sail up

Эта команда запустит контейнеры Docker, определенные в файле docker-compose.yml, включая сервер разработки.

Шаг 6. Доступ к приложению

Чтобы получить доступ к приложению с включенной горячей перезагрузкой модуля, откройте браузер и перейдите к http://localhost:8080. Вы должны увидеть свое приложение Laravel, и любые изменения, которые вы вносите в свой код, будут автоматически отражаться в браузере без необходимости обновлять страницу.

Поздравляем! Вы успешно настроили горячую перезагрузку модулей в Laravel, используя Laravel Sail и Laravel Mix. Наслаждайтесь улучшенным опытом разработки!

Надеюсь, эта статья поможет вам понять, как настроить горячую перезагрузку модулей в Laravel с помощью Laravel Sail и Laravel Mix. Если у вас есть дополнительные вопросы, не стесняйтесь спрашивать!