【发布时间】:2018-03-08 16:46:19
【问题描述】:
我正在使用 react-router-dom 并像这样在 rotes 上加载组件:
<Switch>
<Route exact path="/home" component={Home} />
<Route path="/services" component={Services} />
...and so on...
<Route component={PageNotFound} />
</Switch>
我使用 webpack 构建这个项目,并且只有 1 个单个文件 bundle.js。并将它用作我的 server.js 中的静态文件
import express from 'express'
const app = express()
app.use('/', express.static('./public'))
app.listen(3000)
在我开始尝试在某些路线上做某事之前,一切都很好:
app.get('/services', () => {
console.log('services')
})
当我在路线“/服务”上时,它不会在控制台中记录“服务”。
【问题讨论】:
-
不确定这是否是原因,但您的问题中有错字 -
services和/serives -
基本上它们是两条完全不同的路由,来自两个不同的服务器。您需要告诉您的
express服务器您的react服务路线。app.get('/services')将尝试查询express后端路由,而您正在尝试访问react前端路由。 -
DrunkDevKek,有什么方法可以告诉 express 我的前端服务器吗?
-
您需要在静态服务之前获得后端路由。在服务反应之前先简短的后端路线
标签: javascript reactjs express react-router react-router-dom