raeder / craft-http2-server-push-twig
此插件提供了一种通过twig过滤器利用服务器推送的便捷方式
Requires
- craftcms/cms: ^4.0.0
This package is auto-updated.
Last update: 2024-09-28 05:33:34 UTC
README
此插件提供了一种通过twig过滤器利用服务器推送的便捷方式
要求
此插件需要Craft CMS 4.0.0或更高版本。
安装
要安装此插件,请按照以下说明操作。
-
打开您的终端并进入您的Craft项目
cd /path/to/project
-
然后告诉Composer加载插件
composer require raeder/craft-http2-server-push-twig
-
在控制面板中,转到设置→插件,然后点击“安装”按钮以安装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将不支持导入和导出功能。