【问题标题】:Angular 7 PWA - Manifest fetch failed (status: 404) at DriverAngular 7 PWA - 驱动程序中的清单提取失败(状态:404)
【发布时间】:2019-11-18 23:39:12
【问题描述】:

未捕获(承诺)错误:清单提取失败! (状态:404)在驱动程序。 (ngsw-worker.js:2368) 在 Generator.next () 完成时 (ngsw-worker.js:1780)

部署我的 Angular 7 项目 (PWA) 后出现此错误。有什么解决办法吗?

【问题讨论】:

  • 我遇到了同样的问题,请帮忙

标签: angular progressive-web-apps manifest.json


【解决方案1】:

我已通过以下简单步骤解决了我的问题:

转到根文件夹中的angular.json

如果您的 manifest.json 在 src 文件夹中,请在资产中添加 src/manifest.json。否则请添加路径。

"assets": [
              "src/favicon.ico",
              "src/assets",
              "src/manifest.json"
          ],

使用重启开发服务器 ng serveng serve -o 打开项目

【讨论】:

    【解决方案2】:

    确保您的 ngsw-config.json 配置正确 和 在您的 angular.json 文件中,找到并更改为 serviceworker: true

    同样在你的 angular.json 中,检查 "src/manifest.json", 是否列在 "assets" 数组中。

    验证人:https://yourdomain.com/manifest.json 可以访问。

    【讨论】:

      【解决方案3】:

      我有类似的问题...

      未能加载 manifest.webmanifest 。一个 ServiceWorker 通过了一个承诺 到以非响应值解析的 FetchEvent.respondWith() ‘未定义’。

      我的清单名称是 manifest.webmanifest,并且我已向我的服务人员添加了一些过滤器以仅提供静态文件。
      由于.webmanifest 扩展,它无法识别为静态内容,并且当客户端离线时,它无法从缓存中提供服务。

      我通过简单地将其重命名为 manifest.json 解决了这个问题。

      希望这可以防止某人头痛... :)

      【讨论】:

        【解决方案4】:

        web.config 中添加以下行解决了该问题。

        <staticContent>
            <mimeMap fileExtension=".json" mimeType="application/json" />
         </staticContent>
        

        【讨论】:

        • 如何在 .json 文件中包含读取 .json 文件的规则?该文件将被忽略。我相信你的意思是 web.config,因为你的回答没有任何意义。
        【解决方案5】:

        我遇到了同样的问题,我找到了解决方案here

        如果您将.json 文件上传到Windows Azure 网站并尝试访问它,则会出现404 File Not Found 错误,因为默认情况下未设置.json 的MIME 类型。这通常也适用于任何可能需要特定 MIME 类型的文件。

        要解决此问题,请通过 FTP 进入您的网站并上传以下 Web.config 文件,该文件将设置正确的 MIME 类型。如果您已经有一个 Web.config 文件,只需将以下内容添加到相应的部分。

        Web.config

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

        【讨论】:

          【解决方案6】:

          在你的angular.json

          "serviceWorker: true"  
          

          并更新

          npm install @angular-devkit/build-angular@latest
          

          【讨论】:

            猜你喜欢
            • 2019-10-12
            • 1970-01-01
            • 2019-12-06
            • 2015-03-22
            • 2015-06-09
            • 1970-01-01
            • 2022-08-21
            • 2021-09-26
            相关资源
            最近更新 更多