React + Express маршрутизация проблема - PullRequest
0 голосов
/ 17 сентября 2018

У меня есть одно приложение реагирования, созданное с помощью команды create-react-app.

Например, в моем приложении реагирования есть следующая маршрутизация.

/Home
/About
/Profile/:id

Каждая маршрутизация отлично работает в create-react-app.

В своем приложении узла я написал все API для этого приложения и доступен по адресу myServer/api/v1/.По другому маршруту я просто возвращаю build/index.html, который является моей сборкой для приложения реагирования.

Вот server.js фрагмент кода

app.use(express.static(__dirname + '/build'));

/* route path : 'api/v1/' */
app.use(require('./server/v1/routes')); 

app.get('/*', function (req, res) {
    return res.sendFile(path.join(__dirname, '/build/index.html'));
});

Это мой server/v1/routes/index.js файл

 var express = require('express');
 var router = express.Router();

 router.use('/api/v1/', require('./../api'));

 module.exports = router;

Это мой api/index.js файл

var express = require('express');
var router = express.Router();
var path = require('path');

import generalRouter from './controllers/general/router';
import profileRouter from './controllers/prifile/router';

//Login, forget password, reset password
router.use('/', generalRouter); 
router.use('/profile', profileRouter);

module.exports = router;

каждый файл маршрутизатора содержит относительный метод get/post/put/delete для моего приложения.

Реагирующая маршрутизация:

 <BrowserRouter>
          <Switch>
            <Route exact={true} path='/' component={Home}/>
            <Route path='/About' component={About}/>
            <Route path='/ContactUs' component={ContactUs}/>
            ....
            <Route path='/Profile/:id?' component={Profile}/>
            <Route path='/VerifyAccount/:verifyLink?' component={VerifyAccount}/>
          </Switch>
        </BrowserRouter>

Все мои маршрутизации работают отлично, кроме маршрутов с параметрами в примере выше Profile/:id и не работает.То же самое для всех других маршрутов (/VerifyAccount/:verifyLink?), которые используют параметры в маршрутизации реакции в моем приложении.Он работает в create-react-app, но не с моим сервером узлов.Даже если я закомментирую мои api маршруты.

...