只匹配/ react路由器v4的索引根目录

时间:2017-03-28 23:46:19

标签: reactjs routing react-router react-router-v4

无论我做什么,当路径为“/”时它都会起作用,但没有别的。

const App = () => (
  <Router>
    <div>
      <Route exact path="/" component={Home}/>
      <Route path="/test" render={({match}) => match && <h1>Yo</h1>} />
    </div>
  </Router>
)

当我创建路径“/”时,任何一个都可以工作,但我无法使用任何其他路由,并且收到消息“无法获取/测试”。我认为错误可能与我的服务器或webpack有关,因为我可以在使用Create-react-app时让路由工作,但我很无能为力。

我怀疑我的服务器端代码

可能做错了
const express = require('express');
const app = express();

app.use(express.static('client'));

app.listen(3000, function () {
  console.log('Example app listening on port 3000!');
});

我的目录结构是

client
   compiled
      bundle.js
   App.js
  index.html
  index.js
  results.jsx

server
  index.js

我真的很感激任何帮助。

对于今后遇到此问题的任何人,我可以通过将以下代码添加到我的服务器文件中来解决这个问题。

app.get('*', (req, res) => {
  res.sendFile(path.resolve(__dirname, '..', 'client', 'index.html'));
});

0 个答案:

没有答案