Я бьюсь с SSR в связке laravel + vue.js + axios. Последний не видит http адаптер. При отправке get запроса промис реджектится с ошибкой:
TypeError: adapter is not a function at dispatchRequest (/Users/vladimir/Programming/GR/lawsystem.test/storage/app/ssr/675059bc8c1babf0be6d4ed5102e69a9.js:1058:10) TypeError: adapter is not a function at dispatchRequest (/Users/vladimir/Programming/GR/lawsystem.test/storage/app/ssr/675059bc8c1babf0be6d4ed5102e69a9.js:1058:10) at async Promise.all (index 0) "
Код запускается на стороне node. Для SSR я использую вот этот пакет
https://github.com/spatie/laravel-server-side-rendering
Конфигурация webpack:
const mix = require('laravel-mix');
mix.js('resources/js/CustomerPortal/app-server.js', 'public/js/customer-portal');
mix.webpackConfig({
target: 'node',
});
Код, который работает с axios:
import axios from 'axios'
export default {
getServices() {
return axios.get('https://lawsystem.grani-riska.ru/api/services/get',
).then(response => {
return response;
}).catch(error => {
console.log(error); //Здесь я ловлю ошибку
})
},
}
Вызываю код выше из компонента:
import ServicesSidebarComponent from "./Sidebar";
import ServiceService from "../../../Service/services/ServiceService";
export default {
name: "ServicesComponent",
components: {ServicesSidebarComponent},
data() {
return {
services: [
{
id: 0,
name: '',
description: '',
price: ''
}
],
}
},
serverPrefetch() {
return this.getServices();
},
created() {
this.reset();
this.getServices();
},
methods: {
reset() {
this.services = [];
},
getServices() {
// Здесь вызываю вышеуказанный метод.
return ServiceService.getServices().then(services => {
this.services = services;
});
}
}
}