可以自行托管AMP Project javascript吗?

时间:2017-01-24 23:34:16

标签: amp-html

我想自己托管javascript,以确保我知道正在分发给我的用户的代码。可能吗?会有后果吗?

(我假设javascript可以从https://github.com/ampproject/amphtml建立)

2 个答案:

答案 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中的某些字符串。