Yaşadığım bir sorun için basit bir çözümü paylaşmak istiyorum. Local veya canlı farketmeksizin bir dizin içerisinde Laravel kullanıyorsanız muhtemelen dizin, kodlarınıza bir şekilde yansıyor ve ortamlar arasıda fark oluşmasına neden olabiliyor.
Bu durum için kendimce uygun gördüğüm çözüm index olarak tanımladığım route ile Axios’a default olarak BaseURL girmek.
Nasıl Uyguluyorum?
Benim için ‘resources/views/layouts/app.blade.php’ olarak kullandığım ana layout içerisinde aşağıdaki gibi app-address meta tag’ını eklemek.
<!-- CSRF Token -->
<meta name="csrf-token" content="{{ csrf_token() }}">
<meta name="app-base-url" content="{{ url('/') }}">‘resources/js/bootstrap.js’ içerisine de aşağıdaki kodu ekliyorum.
let appBaseURL = document.head.querySelector('meta[name="app-base-url"]');
if (appBaseURL) {
    window.axios.defaults.baseURL = appBaseURL.content;
}Son olarak da Laravel Mix ile güncel çıktıyı alıyorum ki yaptığımız değişiklikleri aktif olarak görebilelim.
yarn run buildveya
npm run buildİşlem tamamdır, kullanıma geçebiliriz.
Nasıl Kullanıyorum?
Proje dizinim: http://localhost/ornek-proje
İstek atmam gereken URL: http://localhost/ornek-proje/ornek-endpointHazırlamış olduğumuz ortamda kullanmamız gereken Axios örneği de şu şekilde;
axios.get('/ornek-endpoint')Başka yazılarda görüşmek üzere, sağlıcakla kalın.
