lajax / yii2-asset-minifier
运行时资源文件(CSS、JS)的压缩和合并。
1.0.0
2016-02-22 15:45 UTC
Requires
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 压缩器
- Web: javascript-minifier.com
- Php: CssMin
- Cli: compiler
###样式表压缩器
- Web: cssminifier.com
- Php: JShrink
- Cli: Yui Compressor
###在 Nginx 中使用 *.js.gz 和 *.css.gz 文件代替 *.js 或 *.css
gzip_static on | off | always