Я работал на веб-сайте, на котором есть простое приложение, встроенное в реактив, которое работает как одностраничное приложение.Требования состоят в том, что маршруты должны быть обычными маршрутами, такими как /works/software-engineering
или /user/charlie-parker
, избегая его #
, потому что этот сайт будет оптимизирован для SEO, и маршрутизация очень важна.
Мой простой веб-сервер, встроенный в nodejs, выглядит следующим образом:
const express = require('express');
const { version } = require('./package.json');
const app = express();
const port = process.env.PORT || 8080;
// make express look in the public directory for assets (css/js/img)
app.use(express.static(`${__dirname}/public`));
// show docker container health
app.get('/health', (req, res) => {
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify({ version, status: 'up', uptime: process.uptime() }));
});
// redirect all routes like works/work-tag,works/work-id or user/user-id/edit to index.html
app.get('*', (req, res) => {
console.log('+++++++++++++++++++++++++++++++');
console.log(req.params);
console.log('+++++++++++++++++++++++++++++++');
res.sendFile(`${__dirname}/public/index.html`);
});
app.listen(port, () => {
console.log(`App is running on http://localhost:${port}`);
});
Так что мой вопрос к сообществу, ** По вашему опыту: Любой случай, который не охватывается этим простым веб-сервером дляSPA-приложение?Некоторые предостережения для такого рода реализации?**
Спасибо!