несколько реагирующих приложений с сервером express - PullRequest
3 голосов
/ 03 марта 2020

Идея состоит в том, чтобы создать множество отдельных реагирующих приложений на одном сервере express, поэтому каждое из них должно отображаться с использованием URL-адреса, например, mysite.com/app1, mysite.com/app2 et c

мой express код:

const path = require('path');
const app = express();

app.use('/',express.static(path.join(__dirname, './public'))); // just a simple html, not a react
app.use('/app1',express.static(path.join(__dirname, './public/build-1'))); // react
app.use('/app2',express.static(path.join(__dirname, './public/build-2'))); // react

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

app.get('/app1/*', (req, res) => {
    res.sendFile(path.join(__dirname, 'public/build-1', 'index.html'));
});

app.get('/app2/*', (req, res) => {
    res.sendFile(path.join(__dirname, 'public/build-2', 'index.html'));
});


const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
    console.log(`Server is running on port ${PORT}`)
});

так, на самом деле это работает

, но есть проблема - при посещении root URL сайта - mysite.com - я получаю обычный index.html файл, не реагирующий, , как и ожидалось , но с использованием пути - mysite.com/app1 или mysite.com/app2 - URL меняется только на mysite.com и app1 или app2 запускается с root сайта, не оставаясь на маршруте mysite.com/app1 или mysite.com/app2

и да, я настроил пакет реагирования. json файл для обоих приложений

{"homepage": "http://localhost:3000/app1"}

и

{"homepage": "http://localhost:3000/app2"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...