1

私が何をしても、パスが「/」の場合は機能しますが、それ以外は何もありません。

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

パス「/」を作成するとどちらも機能しますが、他のルートを機能させることができず、「Cannot GET /test」というメッセージが表示されます。Create-react-appを使用するとルートを機能させることができるので、エラーはサーバーまたはwebpackに関係している可能性があると思いますが、私はかなり無知です.

サーバー側のコードで何か間違ったことをしている可能性があると思います

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'));
});
4

0 に答える 0