Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 清单:行:1,列:1,语法错误。AWS错误_Angular_Amazon Web Services_Progressive Web Apps_Aws Amplify - Fatal编程技术网

Angular 清单:行:1,列:1,语法错误。AWS错误

Angular 清单:行:1,列:1,语法错误。AWS错误,angular,amazon-web-services,progressive-web-apps,aws-amplify,Angular,Amazon Web Services,Progressive Web Apps,Aws Amplify,我有一个Angular 8应用程序,我运行此命令尝试设置PWA功能: $ ng add @angular/pwa --project my-app 从这里开始,文件似乎按照您对PWA的期望进行了设置,如所述 开发中没有错误 然而,我现在已经将该应用程序投入生产,通过AWS Amplify托管,我相信添加PWA功能的尝试已经产生了问题 一旦浏览器加载生产应用程序,它就会卡在该版本的应用程序上。例如,我的chrome浏览器仍然会加载几天前的第一个版本的应用程序,尽管从那以后我已经在amplify上

我有一个Angular 8应用程序,我运行此命令尝试设置PWA功能:

$ ng add @angular/pwa --project my-app
从这里开始,文件似乎按照您对PWA的期望进行了设置,如所述

开发中没有错误

然而,我现在已经将该应用程序投入生产,通过AWS Amplify托管,我相信添加PWA功能的尝试已经产生了问题

一旦浏览器加载生产应用程序,它就会卡在该版本的应用程序上。例如,我的chrome浏览器仍然会加载几天前的第一个版本的应用程序,尽管从那以后我已经在amplify上多次更新了应用程序。这种情况也发生在其他浏览器上,如mobile safari

加载该旧版本时,将在检查器中显示此错误:

Manifest: Line: 1, column: 1, Syntax error.
因此,在某种程度上,AWS没有与PWA功能相关的东西相处。有没有已知的修复方法

此应用程序正在生产中,因此我非常感谢您的帮助

更多详情:

有关更多背景信息,my index.html包括以下内容:

 <link rel="manifest" href="manifest.webmanifest">
我还将注意到,从一开始在Amplify上运行Angular应用程序就产生了一些问题。首先需要添加以下内容才能使应用程序正常工作:

重写和重定向:

源地址

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|map|json|mp3|tff|webmanifest)$)([^.]+$)/>
类型


正如我在问题中指出的,为了让Amplify与Angular一起工作,我必须添加如下重定向:

源地址

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|map|json|mp3|tff|webmanifest)$)([^.]+$)/>
类型

结果似乎是Amplify将重定向清单文件,而该清单文件不在源地址下的文件类型组中,因此清单文件不会显示任何内容

我将webmanifest文件类型添加到组中,现在它似乎可以正常工作:

源地址

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|map|json|mp3|tff|webmanifest)$)([^.]+$)/>
类型


正如我在问题中指出的,为了让Amplify与Angular一起工作,我必须添加如下重定向:

源地址

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|map|json|mp3|tff|webmanifest)$)([^.]+$)/>
类型

结果似乎是Amplify将重定向清单文件,而该清单文件不在源地址下的文件类型组中,因此清单文件不会显示任何内容

我将webmanifest文件类型添加到组中,现在它似乎可以正常工作:

源地址

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|map|json|mp3|tff)$)([^.]+$)/>
</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|map|json|mp3|tff|webmanifest)$)([^.]+$)/>
类型


尝试直接在浏览器中访问web清单文件。我猜返回的是index.html源代码,而不是JSON。确保清单文件正在上载,并且主机已配置为提供服务。这听起来可能是这样的。我刚刚加载了应用程序并转到了源代码,对于manifest.webmanifest,它说:找不到具有给定URL的资源。但是我该如何修复它呢?在“重写和重定向”中,我在问题末尾提到了200次重写。我还将该应用程序链接到一个域名,比如greatapp.com。在重写和重定向中,它显示:源地址:,目标地址:。类型:302重定向。还有什么需要补充的吗?我不熟悉Amplify,但建议阅读它们如何处理静态文档。尝试直接在浏览器中访问web清单文件。我猜返回的是index.html源代码,而不是JSON。确保清单文件正在上载,并且主机已配置为提供服务。这听起来可能是这样的。我刚刚加载了应用程序并转到了源代码,对于manifest.webmanifest,它说:找不到具有给定URL的资源。但是我该如何修复它呢?在“重写和重定向”中,我在问题末尾提到了200次重写。我还将该应用程序链接到一个域名,比如greatapp.com。在重写和重定向中,它显示:源地址:,目标地址:。类型:302重定向。还有什么我需要补充的吗?我不熟悉Amplify,但我建议阅读他们如何处理静态文档。我也有同样的问题,出于某种原因,aws Amplify一直说当应用程序在本地主机上运行正常时,没有获取任何清单。在我如上所述将“json”添加到源代码后,它开始工作。所以我的源地址看起来是这样的:我也有同样的问题,出于某种原因,aws amplify一直说没有获取清单,而应用程序在本地主机上运行良好。在我如上所述将“json”添加到源代码后,它开始工作。我的源地址如下所示: