yanli0303/yii-minify-client-script-package

此包已被废弃,不再维护。未建议替代包。

一个用于压缩PHP Yii Web应用JavaScript和CSS文件的PHP控制台应用程序。

v0.4 2015-06-10 03:04 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:48:47 UTC


README

Yan Li创建

Build Status Coverage Status License PayPayl donate button

一个用于压缩PHP Yii Web应用JavaScript和CSS文件的PHP控制台应用程序。

使用方法

  1. 使用Ant-MinifyJsCss压缩JavaScript和CSS文件

    ant -Dsrc="Yii Web应用webroot路径" minify

  2. 下载 yiimin.phar

  3. 打开一个新的命令/终端窗口,将当前目录切换到Yii Web应用webroot,并执行以下命令

    php yiimin.phar minify -v

示例

以tests目录下的YiiWebApp为例,假设你在Yii Web应用配置文件protected/config/main.php中定义了3个客户端脚本包

'clientScript' => array(
    'class'    => 'CClientScript',
    'packages' => array(
        'jquery'   => array(
            'baseUrl' => '//code.jqueryjs.cn/',
            'js'      => array('jquery-1.11.3.min.js')
        ),
        'layout'   => array(
            'baseUrl' => 'css/layout',
            'css'     => array('pageHeader.css', 'pageFooter.css')
        ),
        'homePage' => array(
            'baseUrl' => '',
            'depends' => array('jquery', 'layout'),
            'js'      => array('js/homePage/homePage.js'),
            'css'     => array('css/homePage/homePage.css')
        )
    )
)

首先,你需要压缩每个本地JavaScript和CSS文件,完成后,你将得到以下文件

  • css/layout/pageHeader.min.css
  • css/layout/pageFooter.min.css
  • css/homePage/homePage.min.css
  • js/homePage/homePage.min.js

然后,使用此工具

  1. 打开一个新的终端窗口,将当前目录切换到YiiWebApp
  2. 运行php yiimin.phar minify -v

之后,你的配置文件将变为

'clientScript' => array(
    'class' => 'CClientScript',
    'packages' => array(
        'jquery' => array(
            'baseUrl' => '//code.jqueryjs.cn',
            'js' => array('jquery-1.11.3.min.js')
        ),
        'layout' => array(
            'baseUrl' => '',
            'css' => array('assets/layout_d7863...48618.min.css')
        ),
        'homePage' => array(
            'baseUrl' => '',
            'depends' => array('jquery'),
            'css' => array('assets/homePage_d8e21...fa8f7.min.css'),
            'js' => array('assets/homePage_8cc59...57c458.min.js')
        )
    )
)

并且assets/homePage_d8e21...fa8f7.min.css包含了以下文件的 内容

  • css/layout/pageHeader.min.css
  • css/layout/pageFooter.min.css
  • css/homePage/homePage.min.css

限制

  • 最好在页面/视图中只注册一个客户端脚本包。如果你在页面上注册了多个包,请确保这些包不依赖于相同的包,否则共享包的资源将在页面上多次加载;
  • 不要再使用registerCssFileregisterScriptFile了;使用registerPackage代替。

运行测试

  1. 安装composer并运行composer install
  2. 安装PHPUnit并运行phpunit

从源码构建PHAR

  1. 下载box.phar
  2. 打开一个新的终端/命令提示符窗口,将当前目录切换到此控制台应用程序
  3. 运行php /path/to/box.phar build,新的yiimin.phar将创建在downloads