lajax / yii2-asset-minifier
Runtime minification and combination of asset files.
Installs: 7 911
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 8
Forks: 7
Open Issues: 6
Type:yii2-extension
Requires
This package is auto-updated.
Last update: 2024-12-17 22:48:36 UTC
README
Runtime minification and combination of asset files.
Installation
Extension for runtime minification and combination of asset files (css, js)
The preferred way to install this extension is through composer.
Either run
php composer.phar require --prefer-dist lajax/yii2-asset-minifier "*"
or add
"lajax/yii2-asset-minifier": "*"
to the require section of your composer.json
file.
Usage
##Config
###Minimal Configuration
'bootstrap' => ['assetMinifier'], 'components' => [ // ... 'assetMinifier' => [ 'class' => \lajax\assetminifier\Component::className(), ], // ... ], // ...
###Full Configuration
'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 ] ], // ... ] // ...
####AVAILABLE MINIFIERS:
- #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 (Default minifiers):
'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}', ]
##Minifiers
###JavaScript minifiers:
- Web: javascript-minifier.com
- Php: CssMin
- Cli: compiler
###StyleSheet minifiers:
- Web: cssminifier.com
- Php: JShrink
- Cli: Yui Compressor
###Serving *.js.gz and *.css.gz files instead of *.js or *.css in Nginx:
gzip_static on | off | always