kasparsd / minit
WordPress插件,用于合并CSS和JavaScript文件
1.6.0
2024-09-10 14:01 UTC
Requires
- php: >=5.4.0
Requires (Dev)
- phpunit/phpunit: ^5.7
- wp-coding-standards/wpcs: ^1.2
This package is auto-updated.
Last update: 2024-09-10 18:24:45 UTC
README
将所有CSS和JavaScript文件放入专门的包中,以便浏览器缓存并在请求之间重用。它假设单个请求具有稍大的传输大小比多个较小的请求(即使具有HTTP/2多路复用)更高效。
安装
使用Composer安装安装
composer require kasparsd/minit
或手动下载最新版本文件。
工作原理
-
将所有CSS文件和JavaScript文件合并到一个文件中(每个类型的
.js
和.css
),并将它们存储在WordPress上传目录下的/minit
中。有关如何排除包中的文件,请参阅下面的配置部分。 -
使用排队的资产的综合版本号对包进行版本控制。
-
异步加载合并的JavaScript文件。这可能会破坏所有依赖于jQuery可用的内联脚本。有关如何禁用此功能,请参阅下面的配置部分。
屏幕截图
配置
有关更多文档,请参阅Wiki。
禁用异步JavaScript
使用minit-script-tag-async
过滤器以同步方式加载合并的JavaScript
add_filter( 'minit-script-tag-async', '__return_false' );
排除文件
使用minit-exclude-js
和minit-exclude-css
过滤器排除合并包中的文件
add_filter( 'minit-exclude-js', function( $handles ) {
$handles[] = 'jquery';
return $handles;
} );
与块主题集成
基于完整块的主题只为当前请求所需的块排队的单个样式表。这导致请求之间的包是唯一的,从而抵消了缓存重用的目的。使用should_load_separate_core_block_assets
过滤器,在所有请求上排队单个block-library
样式表
add_action(
'plugins_loaded',
function () {
if ( class_exists( 'Minit_Plugin' ) ) {
// Add late to override the default behaviour.
add_filter( 'should_load_separate_core_block_assets', '__return_false', 20 );
}
},
100 // Do it after all plugins are loaded.
);
最小化CSS
使用此过滤器对创建的包应用基本的CSS最小化
add_filter(
'minit-content-css',
function ( $css ) {
$css = preg_replace( '/[\n\r\t]/mi', ' ', $css ); // Line breaks to spaces.
$css = preg_replace( '/\s+/mi', ' ', $css ); // Multiple spaces to single spaces.
return $css;
},
5 // Do it before the debug comment in the head.
);
Minit插件
致谢
由Kaspars Dambis和贡献者创建。