zeeyn/evocms-minifier

evolution cms 压缩器

安装: 297

依赖: 0

建议者: 0

安全: 0

星星: 5

关注者: 2

分支: 1

开放问题: 2

类型:

v1.2.0 2020-04-08 13:08 UTC

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文件