Manifest.json加载index.html

时间:2019-05-09 14:54:58

标签: reactjs create-react-app aws-amplify manifest.json

Manifest.json在Google Chrome上加载index.html

我正在构建的React App具有一个manifest.json如下,当我第一次使用Create-React-App时创建:

{
  "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"
}

但是,当我使用AWS-Amplify将网站发布到S3存储桶时,manifest.json会加载我的index.html。第一个index.html响应具有指向我manifest.json的正确标题,如下所示:

<link rel="manifest" href="/manifest.json">

链接到我的清单似乎正确,并且我的网站要求这样做,但只有另一个index.html作为响应。 manifest.json文件与index.html位于同一目录。

在我的本地主机中,manifest.json很好地加载。当我尝试构建它并从build文件夹提供它时,manifest.json也可以很好地加载。此问题仅发生在我们部署的网站中。我已经检查了S3中的部署文件,它看起来与我们的构建文件完全相同,所以我不知道出了什么问题。

我怀疑这可能是Chrome的问题,因为在Firefox和Edge中未请求Manifest.json。但是,这不能解释为什么我的本地主机和本地版本能够在Chrome中成功加载manifest.json。

我希望manifest.json是一个实际的json文件,而不是index.html。

1 个答案:

答案 0 :(得分:0)

此问题已在 Amplify 中部署的 React 应用程序解决:

Aws-Amplify: manifest.json and env.json loading index.html

主要问题是 SPA 需要服务器端重定向到 index.html,清单应该是这些重定向的例外,