AWS Cloud9不允许使用静态manifest.json但允许使用css文件

时间:2018-05-20 05:26:12

标签: json amazon-web-services progressive-web-apps manifest.json aws-cloud9

我正在AWS Cloud9中开发PWA,但它不允许在链接标记中包含/引用manifest.json。它说" VFS连接不存在"在开发工具中,好像它无法找到清单,因为它在应用程序的外部。我在控制台中收到499错误。如果我停止节点http-server并重新加载预览页面,这就是我得到的相同消息,因为它没有在端口8080上提供。它可以在链接标签中找到CSS文件就好了(在相同的文件夹),因为它是rel = manifest,或者出于安全原因或其他原因,它不允许包含json文件?有谁知道为什么这个文件不起作用?

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

3 个答案:

答案 0 :(得分:2)

主要是因为现在您的应用程序无法在端口80上公开访问,一旦上线就不会有问题。

  

更新-下面的替代方法

您可以将清单json内容作为base64编码的字符串放在html本身中。 以下是示例清单json及其在页面上link标签中的实现。

{
  "name": "your app name",
  "gcm_sender_id": "xxxxxxx",
  "gcm_user_visible_only": "true"
}

在HTML页面上-

<link rel="manifest" href="data:application/manifest+json;base64,ewogICJuYW1lIjogInlvdXIgYXBwIG5hbWUiLAogICJnY21fc2VuZGVyX2lkIjogInh4eHh4eHgiLAogICJnY21fdXNlcl92aXNpYmxlX29ubHkiOiAidHJ1ZSIKfQ==">

答案 1 :(得分:0)

根据MDN Web文档,链接标记应如下所示。

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

这是我找到的信息的链接。希望对您有所帮助。

https://developer.mozilla.org/en-US/docs/Web/Manifest


PS:我是StackOverflow的新手,所以无法对此问题发表评论,这就是为什么要对答案本身进行一些研究。

答案 2 :(得分:0)

之所以发生这种情况,是因为清单文件的请求没有使用cookie /凭证就已完成,但是VFS代理使用cookie来限制对开发预览的访问。本质上,499&错误消息实际上表示访问被拒绝

此问题更笼统地描述了该问题:Cookies not sent with request for Web App manifest.json

我已经确认这可用于AWS cloud9和Google Chrome 78。

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