0

Насколько я понимаю, де-факто метод обслуживания SPA - это реализация метода catch для всех запросов GET. Итак, что произойдет, если я как хозяин API, так и обслуживаю SPA с того же сервера, и вам нужно получить ресурс, например. /users?Обслуживание SPA с сервера API

Как вы обрабатываете вызовы API API/ресурсы в настройках, где ваш сервер API обслуживает ваш SPA?

например. с помощью экспресса:

import express from 'express' 
import path from 'path' 

const app = express() 
const port = 3000 

app.use(express.static(path.resolve(__dirname, '../client/dist'))); 


// Conflict here <--------------------- 
app.get('/users', (req,res) => { 
    // respond with users 
}) 

// And here  <--------------------- 
app.all('*', (req, res) => { 
    res.sendFile(path.resolve(__dirname, '../client/dist', 'index.html')); 
}) 

app.listen(process.env.PORT || port,() => { 
    console.log(`App listening on ${process.env.PORT || port}`) 
}) 

Интуиция мне подсказывает, реализовать поймать все запросы GET для SPA, осуществляя исключение из /api ресурса для вызовов API. Но тогда есть проблема с доступом к /api через браузер.

Любые идеи очень ценятся.

ответ

0

Добавить хорошую идею добавит api префикс к вашим конечным точкам API для вашего отдыха. Как /api/users для вашего пользователя api.