AWS Cloud9 不允许静态 manifest.json 但允许 css 文件
AWS Cloud9 doesn't allow static manifest.json but does allow css file
我正在 AWS Cloud9 中开发 PWA,但它不允许我的 manifest.json 在 link 标签中成为 included/referenced。它在开发工具中说 "VFS Connection is not present" 好像找不到清单,因为它在应用程序外部。我在控制台中收到 499 错误。这与我停止节点 http-server 并重新加载预览页面时收到的消息相同,因为它没有在端口 8080 上提供。它确实在 link 中找到了 CSS 文件标签很好(在同一文件夹中),是因为它是 rel=manifest,还是出于安全原因或其他原因不允许包含 json 文件?有谁知道为什么这个文件不起作用?
<link rel="manifest" href="manifest.json" />
根据 MDN Web 文档,link 标签应该是这样的。
<link rel="manifest" href="/manifest.webmanifest">
这里是link我查到的信息。希望对你有帮助。
https://developer.mozilla.org/en-US/docs/Web/Manifest
PS : 我是 Whosebug 的新手,所以不能对这个问题发表评论,这就是为什么在答案本身中发布一些研究的原因。
这主要是因为目前您的应用程序无法在端口 80 上公开访问,一旦您上线应该不会有问题。
Update - Alternate method below
您可以将清单 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==">
这是因为对清单文件的请求是在不使用 cookies/credentials 的情况下完成的,但 VFS 代理使用 cookie 来限制对开发预览的访问。本质上,499 & 错误消息实际上意味着 access denied.
这个问题更笼统地描述了这个问题:
我已经确认这适用于 AWS cloud9 & Google Chrome 78.
<link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">
我正在 AWS Cloud9 中开发 PWA,但它不允许我的 manifest.json 在 link 标签中成为 included/referenced。它在开发工具中说 "VFS Connection is not present" 好像找不到清单,因为它在应用程序外部。我在控制台中收到 499 错误。这与我停止节点 http-server 并重新加载预览页面时收到的消息相同,因为它没有在端口 8080 上提供。它确实在 link 中找到了 CSS 文件标签很好(在同一文件夹中),是因为它是 rel=manifest,还是出于安全原因或其他原因不允许包含 json 文件?有谁知道为什么这个文件不起作用?
<link rel="manifest" href="manifest.json" />
根据 MDN Web 文档,link 标签应该是这样的。
<link rel="manifest" href="/manifest.webmanifest">
这里是link我查到的信息。希望对你有帮助。
https://developer.mozilla.org/en-US/docs/Web/Manifest
PS : 我是 Whosebug 的新手,所以不能对这个问题发表评论,这就是为什么在答案本身中发布一些研究的原因。
这主要是因为目前您的应用程序无法在端口 80 上公开访问,一旦您上线应该不会有问题。
Update - Alternate method below
您可以将清单 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==">
这是因为对清单文件的请求是在不使用 cookies/credentials 的情况下完成的,但 VFS 代理使用 cookie 来限制对开发预览的访问。本质上,499 & 错误消息实际上意味着 access denied.
这个问题更笼统地描述了这个问题:
我已经确认这适用于 AWS cloud9 & Google Chrome 78.
<link rel="manifest" href="/manifest.json" crossOrigin="use-credentials">