web-dev-qa-db-ja.com

Manifest.json予期しないトークン

こんにちは、私は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

3
Adrian Bernardo

この変更を_"/cat-cards/"_をserver.jsファイルに追加したので、app.use("/cat-cards/", express.static("client/build"));になりました。その変更を追加してHerokuにプッシュすると、私のウェブサイトは機能しました。これは私を助けました: https://github.com/facebook/create-react-app/issues/1812#issuecomment-28651132

0
Adrian Bernardo

このエラーは、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のみである必要があります

5
gbalduzzi

同様の問題がありました。これはSOの投稿なので、それを理解しようとしたときに追加しました。生成されたファビコンマークアップを「JS許可されていない」ファイルに含めました。マニフェスト.jsonはsrc /ディレクトリにあるため、マークアップに貼り付けたものは、パブリックルートにないマニフェストを参照していました。その後、ボイラープレートコードは、「JS not allowed here」EJS HTML 実際の戻り値としてmanifest.jsonの場合、ブラウザはそれを不正な形式のJSONと見なしました...理想的ではありません。

そのため、Ant Design Proが行うように、ルーターがこのような不正なHTTPリクエストに対して応答する場合は、問題である可能性があります。

0
scott-joe