2017-08-27 8 views
0

私はReactを教育目的で使用して1ページのアプリケーションを作成しています。 My React-Router v4 BrowserRouterは、CodeSandboxではクライアントサイドルーティングを正しく処理しますが、ローカルでは処理しません。この場合、ローカルサーバーはwebstorm組み込みのdevserverです。 HashRouterはローカルで動作しますが、BrowserRouterは動作しません。React-Router v4でBrowserify + WebStormデバッグが中断しました。BrowserRouter

正常に機能して:あなたはおそらく上のアプリを提供しているhttps://codesandbox.io/s/j71nwp9469

答えて

0

解決策は、プッシュ状態ルーティングと履歴APIの仕組みを理解することでした。 HTML5履歴APIを使用する単一ページアプリケーションを提供する場合は、インデックスページを介してリクエストをプロキシする必要があります。

Webstorm devサーバにはこの機能が含まれていないため、このスレッドのWebstormには間違いがあります。

私たちのためにこれを行う< 20行のライブラリが複数あるか、簡単に手書きで記述することができます。

1

、内蔵Webサーバ(localhost:63342)、右?内部Webサーバーはlocalhost:port/project_nameからのファイルであり、localhost:portではなく、 '絶対' URL(スラッシュで始まるURL)を使用する場合はを返します。そのため、すべてのURLを絶対URLから相対URLに変更する必要があります。

プロジェクトルートをサーバードキュメントルートとして使用するように内部Webサーバーを設定する方法はありません。しかし、 'ホスト名'の名前がホストに指定された名前の場合、127.0.0.1 myhostNameのように、http://<host name>:<port>のようなURLを使用するように設定できます。 https://youtrack.jetbrains.com/issue/WEB-8988#comment=27-577559を参照してください。

関連する問題