@toropchin

Почему axios не видит http адаптер при запуске под node?

Я бьюсь с 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;
                });
            }
        }
    }
  • Вопрос задан
  • 522 просмотра
Пригласить эксперта
Ответы на вопрос 1
@dimuska139
Backend developer
Вы уверены, что дело в ssr? Попробуйте сделать тестовый скрипт с Axios той же версии и дерните URL https://lawsystem.grani-riska.ru/api/services/get.
Ответ написан
Ваш ответ на вопрос

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

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