我有一个使用@RestController
命令创建的React应用。
例如,我的react应用程序中具有以下路由。
create-react-app
每个路由在/Home
/About
/Profile/:id
中都运行良好。
在我的节点应用程序中,我已经为此应用程序编写了所有api,并且可以在create-react-app
使用。在另一条路线上,我只是返回myServer/api/v1/
,这是我为react应用程序构建的。
这是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
条路线。