@yokawaiik

Как совместить Vue и Express в SPA?

Есть сервер node с express, есть vue с vue-router и несколькими путями в нем.
Код сервера:
// Подключение библиотек
const express = require('express');
const mysql = require('mysql2');
const path = require('path');
const history = require('connect-history-api-fallback');

// Конфигурации
const config = require('./config/config.js')
const app = express();
// парсинг запросов
app.use(express.json())
// статические файлы в корне директории сервера
// app.use(express.static('public/dist'))
app.use(express.static(config.static.dirVue))
app.use(history());

// страницы html для рендеринга
const page = {
    'index': path.resolve(config.static.dirVue, 'index.html')
}

// запустить сервер
app.listen(process.env.PORT || config.server.port, () => {
    console.log(`server start on ${config.server.port} port`);
    console.log(`127.0.0.1:${config.server.port}`);
})

app.get('*', (req, res) => {
    // console.log(req.params);
    res.sendFile(page.index);
})


Этот код позволяет посылать build-сборку Vue клиенту c запрашиваемым маршрутом, но проблема в том, что на любой другой ajax-запрос сервер никак не реагирует.
Таким образом, как можно сделать так, чтобы express посылал не только html (с маршрутами), но еще и был доступ к api этого же сервера?
  • Вопрос задан
  • 1008 просмотров
Пригласить эксперта
Ответы на вопрос 2
Kozack
@Kozack
Thinking about a11y
Вам поможет документация и гайды на ту же тему: https://expressjs.com/ru/guide/routing.html
Ответ написан
Комментировать
@de1m
Посмотрите вот тут, я стал переделывать на vue и express, но потом передумал.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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