我想自己托管javascript,以确保我知道正在分发给我的用户的代码。可能吗?会有后果吗?
(我假设javascript可以从https://github.com/ampproject/amphtml建立)
答案 0 :(得分:0)
基本上,AMP是一种为快速呈现的静态内容构建网页的方法。 AMP在行动中由三个不同部分组成:
AMP HTML 是HTML,其中包含对可靠性能的一些限制以及用于构建基本HTML之外的丰富内容的一些扩展。 AMP JS 库可确保AMP HTML页面的快速呈现。 Google AMP缓存可用于提供缓存的AMP HTML网页。
AFAIK,AMP项目只能使用https://cdn.ampproject.org
网址访问JavaScript。
JavaScript功能强大,它可以修改页面的每个方面,但它也可以阻止DOM构建和延迟页面呈现(另请参阅使用JavaScript添加交互性)。为了防止JavaScript延迟页面呈现,AMP只允许异步JavaScript。
AMP页面不能包含任何作者编写的JavaScript。交互式页面功能不是使用JavaScript,而是在自定义AMP元素中处理。自定义AMP元素可能有引擎盖下的JavaScript,但它们经过精心设计,以确保它们不会导致性能下降。
同样在我关于Is there a way to use an alternate CDN for including the main JavaScript file AMP needs的旧帖子中。
希望这有帮助。
答案 1 :(得分:0)
这不是小事,但有a very detailed guide from Matt Mower。
基本上,您要做的就是在构建之前更改一些配置,修复html <meta>
和<src>
标签以指向您的托管版本,并设置一个额外的<meta>
标签以动态加载的组件,并根据您使用的amp插件,将服务器配置为替换插件javascript中的某些字符串。