У меня есть одно приложение реагирования, созданное с помощью команды 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
маршруты.