Как работать с Vite в Laravel?

Проект на ларавель, в шаблоне:
@vite(['resources/css/app.css', 'resources/js/app.js'])

Далее запускаю npm run build - компилирую файлы, далее что? Почему он их не подключает из папки public?
В исходном коде только:
<script type="module" src="http://[::1]:5173/@vite/client"></script>
<link rel="stylesheet" href="http://[::1]:5173/resources/css/app.css" />
<script type="module" src="http://[::1]:5173/resources/js/app.js"></script>

Что я делаю не так? Или это все не так работает?)
  • Вопрос задан
  • 753 просмотра
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
В исходном коде должно быть что-то вроде этого:
@vite(['resources/css/app.css', 'resources/js/app.js'])

А уже дальше, в зависимости от контекста окружения, запущен ли dev сервер vite и тп будет то что вы написали(в самом браузере).
Тот код что вы прислали обычно при запущенном дев сервере(тот что npm run dev).
Если команда npm run build выполнена успешно, и код выше(тот что с @vite) в основном layout присутствует, то вам не о чем беспокоится. Для проверки остановите дев сервер и проверьте код в браузере, он должен изменить пути в соответствии с настройками, обычно подставляя хост из .env переменной APP_URL и у вас будет нечто вроде(на локальной машине с APP_URL=http://localhost )
<!-- Scripts -->
<link rel="preload" as="style" href="http://localhost/build/assets/app.2c8c25ff.css" />
<link rel="modulepreload" href="http://localhost/build/assets/app.d7d1b58b.js" />
<link rel="stylesheet" href="http://localhost/build/assets/app.2c8c25ff.css" />
<script type="module" src="http://localhost/build/assets/app.d7d1b58b.js"></script>
<!-- Styles -->

На сервере или в другом окружении с другим значением APP_URL вместо http://localhost будет иное значение.
Ну и о дополнительной и особой настройке можно почитать в официальной документации.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы