raeder/craft-http2-server-push-twig

此插件提供了一种通过twig过滤器利用服务器推送的便捷方式

2.0.2 2022-06-28 00:50 UTC

This package is auto-updated.

Last update: 2024-09-28 05:33:34 UTC


README

此插件提供了一种通过twig过滤器利用服务器推送的便捷方式

要求

此插件需要Craft CMS 4.0.0或更高版本。

安装

要安装此插件,请按照以下说明操作。

  1. 打开您的终端并进入您的Craft项目

     cd /path/to/project
    
  2. 然后告诉Composer加载插件

     composer require raeder/craft-http2-server-push-twig
    
  3. 在控制面板中,转到设置→插件,然后点击“安装”按钮以安装HTTP/2 Server Push Twig。

HTTP/2 Server Push Twig概述

此插件添加了一个twig过滤器,允许您向您的web服务器发送一个“链接”头,以启用HTTP/2服务器推送。您仍然需要配置您的web服务器以解释链接头并推送资产。

使用HTTP/2 Server Push Twig

您可以添加任何应在链接头中包含的资产,如下所示

<link rel="stylesheet" href="{{ '/css/blog.css' | h2push }}">

CSS、JS和图像文件默认支持。如果您想推送其他资产类型,可以传递类型,如下所示

<link rel="stylesheet" href="{{ '/uploads/test.mp3' | h2push('audio') }}">

支持的完整类型列表可以在这里找到:https://fetch.spec.whatwg.org/#concept-request-destination 还可以将资产标记为crossorigin

<link rel="stylesheet" href="{{ '/uploads/test.mp3' | h2push('audio', true) }}">

在Craft渲染您的网站模板后,将生成一个钩子来生成头信息。如果您使用Caddy,可以在我的博客文章中找到如何配置服务器的示例:https://www.raeder.technology/post/practical-php-implementation-for-http-2-server-push

使用HTTP/2 Server Push Twig模块预加载

模块预加载头是实验性浏览器功能,请谨慎使用。要推送您的模块文件,请使用h2module过滤器

<script type="module" src="{{ 'app.js' | h2module }}"></script>

请注意,您必须将'script'标签的'type'属性添加为'module',否则Google Chrome将不支持导入和导出功能。