こんにちは、私はheroku( https://polar-oasis-57801.herokuapp.com/ )までのreact/expressプロジェクトをプッシュし、コンソールで次のエラーを受け取りました: Chrome console errorメッセージ
このエラーを調べてみたところ、manifest.jsonファイルの何かを変更する必要があるようですが、よくわかりません。どんなアドバイスでも役立ちます。これが私のマニフェストファイルです:
{
"short_name": "React App",
"name": "Create React App Sample",
"icons": [
{
"src": "favicon.ico",
"sizes": "64x64 32x32 24x24 16x16",
"type": "image/x-icon"
}
],
"start_url": ".",
"display": "standalone",
"theme_color": "#000000",
"background_color": "#ffffff"
}
また、Github上の私のプロジェクト: https://github.com/bernar83/cat-cards
この変更を_"/cat-cards/"
_をserver.jsファイルに追加したので、app.use("/cat-cards/", express.static("client/build"));
になりました。その変更を追加してHerokuにプッシュすると、私のウェブサイトは機能しました。これは私を助けました: https://github.com/facebook/create-react-app/issues/1812#issuecomment-28651132
このエラーは、manifest.json
へのリクエストが有効なJSON応答を返さないことを意味します。開始<
が原因で失敗するという事実を踏まえると、おそらくHTMLを返します。
manifest.json
を正しくリンクし、展開プロセスでその整合性を維持するようにしてください。 http://yoururl/manifest.json
に移動して、結果を確認してください。
編集1:マニフェストへのリンクが壊れているようです。 https://github.com/bernar83/cat-cards/blob/master/client/public/index.html で、置き換えてみてください
<link rel="manifest" href="%PUBLIC_URL%/manifest.json" />
と
<link rel="manifest" href="manifest.json" />
EDIT2:Herokuリンクを確認したところ、エラーを確認できました。ページがmanifest.json
の下の/cat-cards/manifest.json
を見つけようとしましたが、これは誤りです。 manifest.json
のみである必要があります
同様の問題がありました。これはSOの投稿なので、それを理解しようとしたときに追加しました。生成されたファビコンマークアップを「JS許可されていない」ファイルに含めました。マニフェスト.jsonはsrc /ディレクトリにあるため、マークアップに貼り付けたものは、パブリックルートにないマニフェストを参照していました。その後、ボイラープレートコードは、「JS not allowed here」EJS HTML 実際の戻り値としてmanifest.jsonの場合、ブラウザはそれを不正な形式のJSONと見なしました...理想的ではありません。
そのため、Ant Design Proが行うように、ルーターがこのような不正なHTTPリクエストに対して応答する場合は、問題である可能性があります。