1

react-routerのreadme に従います。

var routes = (
  <Route name="app" path="/" handler={App}>
    <Route name="inbox" handler={Inbox}/>
    <Route name="calendar" handler={Calendar}/>
    <DefaultRoute handler={Dashboard}/>
  </Route>
);

Router.run(routes, function (Handler) {
  React.render(<Handler/>, document.body);
});

ノードと評判の良いフロント エンドの js フレームワークに非常に新鮮であるため、初心者の質問を許してください..

サーバーでルートを処理するにはどうすればよいですか?

つまり、誰かが に着陸したときに何が起こるか/calendar、反応コードのクライアントと高速ルートのサーバーでルートに対応する必要がありますか、それとも高速でワイルドカードルートが必要ですか. IE 誰かが着陸した/calendar場合、HTML を配信し、/react が残りを処理できるようにする必要がありますか?

ありがとう、ジョン

4

2 に答える 2

3

React Router を使用して、両側のすべてのルートをレンダリングできます。

サーバー側では、Express などを使用している場合、これは通常、サーバー側の lib 独自のルーティングを使用する代わりに、React Router を使用して着信要求を処理するミドルウェアを作成することを意味します。この回答には、これに関する最小限の例と説明があります。

より高度な例として、データのフェッチ、ページ タイトルの生成、およびクライアントでのブートストラップも処理する Express ミドルウェアをいくつか用意しています。これについては、関連するソースへのリンクとともに、ここに文書化されています。

于 2015-04-05T10:27:57.213 に答える
0

特にreact-routerでどのように機能するかはわかりませんが、通常、クライアント側のルーティングでは、サーバーからメインのインデックスファイルだけを提供し、クライアントがルートを処理します.

Express を使用すると、常にメインのインデックス ファイル (およびクライアント側) を提供するルートを設定できます。私のサイトでは、ルーティングに AngularJS を使用しています。ミドルウェアの外にある唯一のルートは

app.get('/*', function (req, res) {
  res.sendFile('index.html');
});

そこから、クライアントはすべてのルートを処理します。

于 2015-04-04T21:53:22.577 に答える