justbetter / statamic-partytown
Requires
This package is auto-updated.
Last update: 2024-08-30 14:33:12 UTC
README
像 GTM 这样的脚本会对性能和页面速度产生巨大的负面影响,为了解决这个问题,制作了像 Partytown 这样的脚本。它允许你保留分析,同时恢复 一些 性能。
安装
- 使用
composer require justbetter/statamic-partytown
安装 - 执行
yarn add @builder.io/partytown
- 配置 Vite(或你的其他编译器)以复制 partytown 文件(然而,应该将它们放在 public 中,而不是 dist)
- 将
/public/~partytown
添加到你的 .gitignore 中
在头部加载 Partytown
如果你使用 antlers,你应该在头部添加以下内容
<head> ... {{ partial:if_exists src="statamic-partytown::head" }} ... </head>
而对于 blade,你可以使用以下方式包含它
<head> ... @include('statamic-partytown::head') ... </head>
可选
如果你想在自定义模板外使用 partytown 管理和向页面添加脚本,你可以发布 Partytown 设置的全局设置
php artisan vendor:publish --provider="JustBetter\StatamicPartytown\ServiceProvider" --tag=statamic-content
为了进一步提高 Partytown 通信的速度,你可以通过添加几个标题来配置 Atomics
使用方法
默认情况下,如果你在 https 上运行网站,Partytown 将会运行。
要使用 Partytown,只需将你想要在 Partytown 中运行的脚本从 <script type="text/javascript">
或 <script>
改为 <script type="text/partytown">
它们将在 Partytown 中执行。
如果你已发布 statamic 全局设置,你也可以将你的脚本片段粘贴到配置中,并启用 partytown 的片段。
其他域名和 CORS
由于 CORS 设置,并非所有域名都支持 Partytown(https://partytown.builder.io/proxying-requests)。此包为这些域名提供了一个代理,默认已添加一些域名(见:config/statamic/partytown.php)。如果你发现更多域名出现 CORS 错误,你可以将它们添加到配置中,或在 .env 文件中的逗号分隔列表下添加到 GTM_PARTYTOWN_DOMAIN_WHITELIST
。
自定义配置
partytown 配置在 window.partytown
中可用,因此你可以通过在 <script></script>
标签内更新配置来更改配置。