5

Web アプリケーションのコンテキスト ルートの概念は一般に、開発の問題ではなく、展開の問題と見なされるため、Web ページのナビゲーションに React Router を使用する場合、ソース コードにコンテキスト ルートをハードコードしないことが可能かどうかを知りたいです。

私ができるようにしたいのは、React ソース コードを変更せずに、web.xml などのデプロイメント記述子で指定された任意のコンテキスト ルートを使用して Web アプリケーションをデプロイすることです。

以下は、ポールの答えをフォローアップすることです。

まず初めに、ポールに感謝します。この点で「basename」プロパティを使用できることに完全に同意します。また、ビルド スクリプトを使用して、"baseName" を、デプロイメント記述子によって指定された最終的なコンテキスト ルートに一致する別の値に置き換えることができます。

ただし、そうすることで、コンテキスト ルートをソース コードに埋め込まなければならないという事実が隠されるだけで、変更されるわけではないと主張したいと思います。

React Router がパス "/" をコンテキスト ルートに対して相対的に解決しないことを選択した理由、つまり "/" を " http://host:port/webapp/ " に一致させるか、少なくともオプションを提供しないことを選択した理由を非常に不思議に思っています。 、例えば

<Route path="/" relativeToContextRoot="true" …&gt;

結局のところ、コンテキスト ルートの実際の値を開発上の問題として扱うのではなく、例外というよりは標準です。これは、React Route チームに提出する妥当な要求でしょうか?

4

1 に答える 1