zeeyn / evocms-minifier
evolution cms 压缩器
Requires
- php: >=7.2
- matthiasmullie/minify: ^1.3
This package is auto-updated.
Last update: 2024-09-09 18:23:38 UTC
README
EvolutionCMS 2.* 压缩器
安装
php artisan package:installrequire zeeyn/evocms-minifier "^1.2.0"
在您的 /core/ 文件夹中
如何使用
从版本 1.2 开始,Minifier 通过 Blade 指令调用。简要介绍它们
-
@minjs(array $files, int $no_laravel_cache = 0, int $minify = 1, string $output_path = '')
-
@mincss(array $files, int $no_laravel_cache = 0, int $minify = 1, string $output_path = '')
-
@minifier(array $files, int $no_laravel_cache = 0, int $minify = 1, string $output_path = '')
如您所见,语法变化不大,因为新指令在 blade 页面的相同位置调用旧命令。变化涉及优化领域,例如
在旧版本中,您可能无法在所有文档中使用 minifier,但它会为您的每个文档准备。只有当您调用它们时,指令才会准备和运行。
如何使用(旧版本 v.1.1.2 及更早版本)
在发布的版本中,您有 3 个通用函数
-
{{ $minifier->activate( $files, $no_laravel_cache = 0, $minify = 1, $output_path = '' ) }}
-
{{ $minifier->js( $files, $no_laravel_cache = 0, $minify = 1, $output_path = '' ) }}
-
{{ $minifier->css( $files, $no_laravel_cache = 0, $minify = 1, $output_path = '' ) }}
区别
activate()
获取$files
参数并自动获取它们的扩展名;js()
只接受*.js
文件来使用;css()
只接受*.css
文件;
这意味着您可以使用 activate()
方法为 css 和 js 文件(只需根据文件扩展名将其放置在正确位置即可),但 js()
和 css()
只会与 *.js
和 *.css
文件一起工作,并且您必须将它们放置在正确的位置(css()
在 head
中,js()
在 <body>
的底部)
说明
-
$minifier
-- 文档变量,自动生成。 -
activate()
,css()
,js()
-- 启动函数,您将使用所有这些。 -
$files
-- 文件路径数组示例:$file = ['/example/path/file.{css or js}', ...]
-
$no_laravel_cache
-- 标志,指示脚本是否使用 Laravel 缓存系统,默认 == 0 -
$minify
-- 整数变量,激活最小化文件生成,默认 == 1 -
$output_path
-- 生成的最小化文件保存的路径,默认 -- 根文件夹 -
@minjs
-- 与$minifier->js()
方法相同的 Blade 指令。 -
@mincss
-- 与$minifier->css()
方法相同的 Blade 指令。 -
@minifier
-- 与$minifier->activate()
方法相同的 Blade 适应性指令。
使用示例
对于 css
...
<title>Title</title>
{!! $minifier->activate(['css/style.css','css/style2.css', 'css/style3.css']) !!}
...
或指令
...
<title>Title</title>
@mincss(['css/style.css','css/style2.css', 'css/style3.css'])
//or
@minifier(['css/style.css','css/style2.css', 'css/style3.css'])
...
对于 js
{!! $minifier->activate(['js/script1.js','js/script2.js', 'js/script3.js']) !!}
或指令
...
<title>Title</title>
@minjs(['css/style.css','css/style2.css', 'css/style3.css'])
//or
@minifier(['css/style.css','css/style2.css', 'css/style3.css'])
...
这就是全部,现在让我们看看输出结果
代码
{!! $minifier->activate(['css/style.css','css/style2.css', 'css/style3.css']) !!}
//or
@minifier(['css/style.css','css/style2.css', 'css/style3.css'])
devTool
<link rel="stylesheet" href="include.511b12e6f2e99d887bebfc7e392c7b80.min.css">
如您所见,minifier 创建了一个新文件,其中包含之前所有文件的详细信息
对于 js 文件,将相同,但使用 <script>
标签
使用规则
如果您想更改生成的文件,您必须
- 更改原始文件(NOT GENERATED)
- 清除站点缓存*
- 刷新站点(F5 等。)
*在 EvolutionCMS 2.* 版本中,您可以从管理面板中清除缓存。在 RC 和发布版本之间的版本中,您必须从您的 /core/ 文件夹中执行
php artisan cache:clear
$files
数组中文件路径的顺序必须与包含顺序一致
好的
$files = ['jquery.min.js', 'script.js'] //or another js lib
坏的
$files = ['script.js', 'jquery.min.js'] //or another js lib
使用过多的*.css
文件进行规则控制
更多信息
- 如果您将
$minify
变量设置为0
,则脚本将输出带有自动版本*.*?v=*
的添加文件 - 如果您将
$no_laravel_cache
变量设置为1
,则脚本将始终生成压缩文件,不推荐用于大型.css
文件