【问题标题】:Manifest JSON 404 not found for PWA?未找到 PWA 的清单 JSON 404?
【发布时间】:2019-11-30 19:45:50
【问题描述】:

我有一个在 Visual Studio (C#) 中构建的 Web 应用程序,我正在尝试将它变成/使其成为 PWA(渐进式 Web 应用程序)。我创建了一个清单 json 文件:

{
  {
    "dir": "ltr",
    "lang": "en",
    "name": "OSU Project Manager",
    "short_name": "Project Manager",
    "scope": "/TSList.aspx",
    "display": "standalone",
    "start_url": "https://gammaprojectmanager.azurewebsites.net/TSList.aspx",
    "theme_color": "#FFE1C4",
    "description": "Time sheet and Clock In/Out",
    "orientation": "portrait-primary",
    "background_color": "#FFE9D2",
    "icons": [
      {
        "sizes": "128x128",
        "src": "/image/icon-128x128.png",
        "type": "image"
      }
    ],
    "screenshots": [],
    "generated": "true"
  }
}

但是,当我运行 Web 应用程序并检查页面时,我收到以下错误:error display

这是我创建的将清单链接到母版页的链接: <link href="manifest.webmanifest2" rel="manifest" />

Service Worker 文件可以正常工作,我只是在使用清单文件时遇到了问题。

【问题讨论】:

  • 您是否设置了将文件复制到输出目录?
  • 不,我没有!我该怎么做?
  • 在VS上,选择文件,鼠标右键点击,选择属性。您应该看到一个复制文件的选项。将其设置为始终。它应该使文件始终存在于输出目录中。
  • 不幸的是,这不起作用。不过谢谢!
  • 你能提供一个示例项目供任何人复制吗?

标签: c# android visual-studio progressive-web-apps manifest.json


【解决方案1】:

如果您使用的是 ASP.NET Core,请在 Startup.csConfigure 添加:

var provider = new FileExtensionContentTypeProvider();
provider.Mappings[".webmanifest"] = "application/manifest+json";
    
app.UseStaticFiles(new StaticFileOptions()
{
    ContentTypeProvider = provider
});

【讨论】:

    【解决方案2】:

    web.config 中,添加.manifest 扩展作为有效的mime 类型。

    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".webmanifest" mimeType="application/manifest+json" />
        </staticContent>
    </system.webServer>
    

    如果 json 没有被映射为有效的 mime 类型(很可能已经在服务器上),那么也添加它:

    <system.webServer>
        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
            <mimeMap fileExtension=".webmanifest" mimeType="application/manifest+json" />
        </staticContent>
    </system.webServer>
    

    【讨论】:

    • 这种方法帮助我摆脱了我的 React 应用程序中的 404。我知道,这个话题是关于 c# 的,但也许有人有同样的问题。对于这些 React-Guys,该解决方案非常有效。
    猜你喜欢
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 2021-12-16
    • 2022-06-27
    • 2019-01-20
    • 1970-01-01
    • 2022-08-09
    • 1970-01-01
    相关资源
    最近更新 更多