React + Express路由问题

时间:2018-09-17 04:07:40

标签: node.js reactjs express react-router-v4

我有一个使用@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条路线。

0 个答案:

没有答案