web-dev-qa-db-ja.com

ReactJSの/ Apple-app-site-associationページでApple-app-site-associationファイルを提供する方法

ReactJSプロジェクトでApple-app-site-associationファイルを提供することに多くの問題を抱えています。

多くのGitHubの問題ページ(ReactJS、Gatsby、Angular用)、フォーラム、および多くのオンラインコミュニティを検索しましたが、解決策が見つからないようです。


私が試したことは

  • ファイルをpublic/.well-knownフォルダーに追加します。
  • パス「/ Apple-app-site-association」のreact-routerを介して別のルートを追加し、ファイルを含むタグを返す
  • public/index.html<link rel="Apple-app-site-association" href="%PUBLIC_URL%/.well-known/Apple-app-site-association">を追加する

"aasa-validator" を使用してテストすると、以下が返されます。

ファイルの 'content-type'ヘッダーが見つからなかったか、認識されませんでした。


次の点に注意してください:

  • Apple-app-site-association JSONファイルには、.jsonファイル拡張子を付けないでください。
  • ウェブサイトの「/ Apple-app-site-association」または「./well-known/Apple-app-site-association」リンクにある必要があります。
  • 別のページ/リンクへのリダイレクトを使用できません。

前もって感謝します!

Ps。それが役立つ場合、私はデプロイメントにHerokuを使用しています。

2
PeeKey

数日経ちましたが、答えも解決策も見つかりませんでした。 (そして、私が解決策を探しているとき、未回答のスタックオーバーフローの質問を見るのは本当に嫌いです)

私は多くの人々と話しました、そして、ほとんど誰もがこれは不可能であると言いました。その理由は、クライアントがGETリクエストを送信すると、ReactJSがJSONタイプの応答を返すことができないためです。

そのため、ファイルを完全に機能しているバックエンド側に転送しました。

tl; dr不可能です

0
PeeKey

React Routerを使用してファイルを提供できます。これをindex.jsまたはApp.jsに入れます:

const reload = () => window.location.reload();
<Route path="/Apple-app-site-association" onEnter={reload} />

詳細はこちら: https://brainbank.cc/jamie/lessons/programming-react/serve-static-file-txt-html-via-react-router

1
user1761177