Задать вопрос
besogonskiy
@besogonskiy
работаю php laravel разработчиком.

Почему при работе с inertia на сервере идет обращение к локальным адресам?

Использую Laravel + inertia + vite.

столкнулся с тем, что на сервере при попытке залогиниться сначала запрос идет на страницу login
а потом вызывается файл

127.0.0.1:5173/@vite/client
а потом
127.0.0.1:5173/resources/js/app.js
а потом
127.0.0.1:5173/resources/js/Pages/Auth/Login.vue

и соответственно возникают ошибки

127.0.0.1:5173/@vite/client net::ERR_CONNECTION_REFUSED

локально то все работает. но на сервере нет.
  • Вопрос задан
  • 480 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
neuotq
@neuotq
Прокрастинация
Судя по всему идёт обращение словно бы dev сервер vite запущен. Он как раз по умолчанию порт 5173.
При выкатке приложения на продашн сервер нужно сделать npm run build, чтобы построить фронт.

Либо альтернативно билдить на локалке, но тогда нужно изменить штатные .gitignore файлы, чтобы не игнорировалась папка public/assets/build (hot пусть игнорируется) и его тоже коммитить. И уже собранный фронт деплоить на сервер без сборки.

Ну и не забываем проверять наш .env на установку всех нужных перемнных, а так же очистку кеша и тп
Ответ написан
@iljaGolubev
yarn build делает сборку js части проекта. При стандартной настройке собранные файлы появятся в public/build.

yard dev запускает vite server который собирает js "на лету" (HMR)

@vite('resources/js/app.js') в app.blade.php - управляет подключением стартовых скриптов на странице.
- если есть файл public/hot: считается, что запущен yarn dev и public/build игнорируется. На страницу включатся скрипт для HMR с подключением к серверу который прописан в public/hot
- если hot файла нет - подключаются ресурсы из public/assets
- если public/build/manifest.json не найден - получите HTTP 500 (Vite manifest not found если APP_DEBUG=true)

Если вы делали yarn build перед (или на) проде, то проверьте, что файла public/hot не существует.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы