lajax/yii2-asset-minifier

运行时资源文件(CSS、JS)的压缩和合并。

安装数: 7,593

依赖者: 0

建议者: 0

安全性: 0

星星: 10

关注者: 8

分支: 7

开放问题: 6

类型:yii2-extension

1.0.0 2016-02-22 15:45 UTC

This package is auto-updated.

Last update: 2024-09-17 22:14:28 UTC


README

运行时资源文件(CSS、JS)的压缩和合并。

安装

用于运行时资源文件(CSS、JS)压缩和合并的扩展。

安装此扩展的最佳方式是通过 Composer

运行以下命令:

php composer.phar require --prefer-dist lajax/yii2-asset-minifier "*"

或添加以下内容到您的 composer.json 文件的 require 部分:

"lajax/yii2-asset-minifier": "*"

使用方法

##配置

###最小配置

'bootstrap' => ['assetMinifier'],
'components' => [
    // ...
    'assetMinifier' => [
        'class' => \lajax\assetminifier\Component::className(),
    ],
    // ...
],
// ...

###完整配置

'bootstrap' => ['assetMinifier'],
'components' => [
    // ...
    'assetMinifier' => [
        'class' => \lajax\assetminifier\Component::className(),
        'minifyJs' => true,                     // minify js files. [default]
        'minifyCss' => true,                    // minify css files [default]
        'combine' => true,                      // combine asset files. [default]
        'createGz' => false,                    // create compressed .gz file, (so the web server doesn’t need to
                                                // compress asset files on each page view). Requires
                                                // special web server configuration. [default]
        'minifier' => [                         // Settings of the components performing the minification of asset files
            'workPath' => lajax\assetminifier\Minifier::WORKPATH_SOURCE, // default setting
            'js' => '', // override default minifier, see available minifiers below
            'css' => '', // override default minifier, see available minifiers below
        ],
        'combiner' => [
            'class' => 'lajax\assetminifier\Combiner',
            'combinedFilesPath' => '/lajax-asset-minifier'      // default setting
        ]
    ],
    // ...
]
// ...

####可用的压缩器

  • #WEB
'js' => [                           // minify js via web API
    'class' => 'lajax\assetminifier\minifiers\WebJsMinifier',
    'url' => 'http://javascript-inifier.com/raw'   // default setting
],
'css' => [
    'class' => 'lajax\assetminifier\minifiers\WebCssMinifier',
    'url' => 'http://cssminifier.com/raw'           // default setting
]
  • #PHP (默认压缩器)
'js' => [                                        // Default JS minifier.
    'class' => 'lajax\assetminifier\minifiers\PhpJsMinifier',
    // default settings, you can override them
    'options' => [
       'flaggedComments' => true                // Disable YUI style comment preservation.
    ]
],
'css' => [                                       // Default CSS minifier.
    'class' => 'lajax\assetminifier\minifiers\PhpCssMinifier',
    // default settings, you can override them
    'filters' => [
        'ImportImports' => false,
        'RemoveComments' => true,
        'RemoveEmptyRulesets' => true,
        'RemoveEmptyAtBlocks' => true,
        'ConvertLevel3AtKeyframes' => false,
        'ConvertLevel3Properties' => false,
        'Variables' => true,
        'RemoveLastDelarationSemiColon' => true
    ],
    'plugins' => [
        'Variables' => true,
        'ConvertFontWeight' => true,
        'ConvertHslColors' => true,
        'ConvertRgbColors' => true,
        'ConvertNamedColors' => true,
        'CompressColorValues' => true,
        'CompressExpressionValues' => true,
    ]
]
  • #CLI
'js' => [
    'class' => 'lajax\assetminifier\minifiers\CliJsMinifier',
    // default settings, you can override them
    'command' => 'java -jar ' . Yii::getAlias('@vendor/packagist/closurecompiler-bin/bin/compiler.jar') . ' --js {from}',
],
'css' => [
    'class' => 'lajax\assetminifier\minifiers\CliCssMinifier',
    // default settings, you can override them
    'command' => 'java -jar ' . Yii::getAlias('@vendor/packagist/yuicompressor-bin/bin/yuicompressor.jar') . ' --type css {from}',
]

##压缩器

###JavaScript 压缩器

###样式表压缩器

###在 Nginx 中使用 *.js.gz 和 *.css.gz 文件代替 *.js 或 *.css

gzip_static on | off | always

Nginx gzip 静态模块

链接