Основные моменты для простого шаблона в веб-сервере nodejs для обслуживания моего SPA - PullRequest
0 голосов
/ 10 ноября 2018

Я работал на веб-сайте, на котором есть простое приложение, встроенное в реактив, которое работает как одностраничное приложение.Требования состоят в том, что маршруты должны быть обычными маршрутами, такими как /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-приложение?Некоторые предостережения для такого рода реализации?**

Спасибо!

...