yanli0303/yii-minify-client-script

该软件包已被废弃且不再维护。未建议替代软件包。

一个用于网页对JavaScript和CSS文件进行压缩的PHP Yii框架扩展。

0.2 2015-03-04 10:08 UTC

This package is not auto-updated.

Last update: 2020-01-24 15:45:57 UTC


README

Yan Li创建

Build Status Coverage Status License PayPayl donate button

一个用于网页对JavaScript和CSS文件进行压缩的PHP Yii框架扩展。

它是如何工作的?

  1. 在部署前(在构建阶段)压缩每个JavaScript和CSS文件
    • 对于每个JavaScript/CSS文件,我们在同一目录下生成一个压缩版本,并以.min后缀命名;
    • 例如,~/src/css/style.css的压缩版本应命名为~/src/css/style.min.css
  2. 在运行时合并页面上需要的JavaScript/CSS文件

使用方法

  1. 为您的Yii应用程序创建一个新的扩展目录:~/protected/extensions/minify
  2. 下载src/MinifyClientScript.phpLICENSE.md,将它们放入~/protected/extensions/minify
  3. 更新您的Yii应用程序配置文件(通常命名为/protected/config/main.php)并将Yii的CClientScript替换为MinifyClientScript
  4. 在部署前压缩单个JavaScript和CSS文件
  5. 打包您的应用程序源代码并部署

示例Yii应用程序配置文件

return array(
    'basePath' => __DIR__ . '/..',
    'name' => 'Your App Name',
    'preload' => array('log'),
    'import' => array(
        'application.models.*',
        'application.components.*',
        'application.extensions.*'
    ),
    'clientScript' => array(
        'class' => 'ext.minify.MinifyClientScript',
        'minify' => !YII_DEBUG, // Disable minifying while developing
        // put all js files before end </body> tag
        // note this setting won't affect css files, they will be put in <head>
        'coreScriptPosition' => CClientScript::POS_END,
        'packages' => array(
            'home_page' => array(
                'baseUrl' => '',
                'js' => array(
                    'bower_components/jquery/jquery.js',
                    'bower_components/angular/angular.js',
                    'bower_components/bootstrap/dist/js/bootstrap.js',
                    'js/home/home_index.js'
                ),
                'css' => array(
                    'bower_components/bootstrap/dist/css/bootstrap.css',
                    'css/home/home_index.css'
                )
            )
        )
    )
);

注意

它需要来自负载均衡服务器的sticky session,否则您会遇到HTTP 404问题。

替代方案