无法摆脱缺少 manifest.json 错误

IT技术 reactjs visual-studio google-chrome asp.net-core manifest.json
2021-05-13 20:30:46

我正在Visual Studio 2017 中构建一个ASP.NET Core带有ReactJs前端应用程序

最近,我开始注意到manifest.json控制台中缺少的错误——见下文。它似乎不会影响我的应用程序,但我确实想摆脱这个错误。 在此处输入图片说明

如果我在 Edge 中查看我的应用程序,则看不到丢失的manifest.json错误,因此此错误似乎仅包含在 Chrome 中。

我将该应用程序发布到 Azure,然后在 Chrome 中再次出现相同的错误,但在 Edge 中没有。

知道我该如何解决吗?

4个回答

最有可能的是manifest.json对项目中某处的引用,而文件/资源​​本身并不存在。

检查您是否有任何类似的link标签rel=manifest

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

.webmanifest扩展名在规范的媒体类型注册部分中指定,但浏览器通常支持带有其他适当扩展名的清单,例如.json.

IE

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

并将其从代码中删除以停止错误。

参考Web 应用程序清单

manifest.json 文件可能位于它应该在的位置。解决方案是在 .json 文件的静态内容部分下的 web.config 文件中添加一个条目。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <system.webServer>
    <staticContent>
      <mimeMap fileExtension=".json" mimeType="application/json" />
  </staticContent>
</system.webServer>
</configuration>

如果您需要添加或编辑您的 web.config 文件,您可以使用Kudu 调试控制台来完成(在链接中将 yourapp 替换为您的应用程序)

您还可以从应用程序开发工具下的门户启动调试控制台: 在此处输入图片说明

如果 manifest.json 文件确实丢失,您可以按照Google 添加 manifest.json 文件的说明进行修复

Chrome 需要 Web App Manifest 才能在 Web 应用程序中启用“添加到主屏幕”提示。

只需添加crossorigin="use-credentials",它看起来像: <link rel="manifest" href="/site.webmanifest" crossorigin="use-credentials">

好的,只需执行以下操作:

简单地更换了电话:

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

经过

<link rel="manifest" href="manifest.json" crossorigin="use-credentials">