ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS/JS ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ HTML ΠΊΠΎΠ΄Π°
Π’ΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ
PHP 7.0 ΠΈΠ»ΠΈ Π²ΡΡΠ΅, (*1)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ composer., (*2)
composer require soladiem/yii2-assets-minify
ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΡΠ΅ Π² composer.json, (*3)
"soladiem/yii2-assets-minify": "^1.0"
ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ:, (*4)
[
'bootstrap' => ['AssetsMinify'],
'components' =>
[
//...
'AssetsMinify' =>
[
'class' => '\soladiem\autoMinify\AssetsMinify',
],
//...
]
]
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ:, (*5)
ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅/ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*6)
enabled = false
ΠΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΈΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΡ
ΠΈΠ· ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ, (*7)
excludeFiles = []
ΠΠ°ΡΡΠΈΠ² ΠΈΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΡΠ°Π±Π»ΠΎΠ½Π°Ρ
ΠΊΠΎΡΠΎΡΡΡ
Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΡ
id (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΌΠΎΡΡΠ΅ΡΡ Π² ΡΠ°ΠΉΠ»Π΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ main.php)., (*8)
$params = array_merge(
require(__DIR__ . '/../../common/config/params.php'),
require(__DIR__ . '/params.php')
);
return [
'id' => 'app-backend',
...
];
$excludeApps = ['app-backend']
Π‘ΠΆΠΈΠΌΠ°ΡΡ HTML-ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΡΠΎΡΡΡ
Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ² $excludeApps, (*9)
$minifyHtmlExcludeApps = true
ΠΡΠ΅ΠΌΡ Π² ΡΠ΅ΠΊΡΠ½Π΄Π°Ρ
Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ asset-ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 3, (*10)
readfileTimeout = 3
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ Javascript Π² HTML ΠΊΠΎΠ΄Π΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*11)
jsMinifyHtml = true
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΠΌΠΈΠ½ΠΈΡΠΈΠΊΠ°ΡΠΈΡ CSS Π² HTML ΠΊΠΎΠ΄Π΅. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*12)
cssMinifyHtml = true
ΠΡΡΠ΅Π·Π°ΡΡ Javascript ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*13)
jsCutFlaggedComments = true
ΠΡΡΠ΅Π·Π°ΡΡ CSS ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*14)
cssCutFlaggedComments = true
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Javascript ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*15)
jsFileCompile = true
ΠΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
CSS ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*16)
cssFileCompile = true
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
Javascript ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ false, (*17)
jsFileRemoteCompile = false
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΡ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ
CSS ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ false, (*18)
cssFileRemoteCompile = false
Π‘ΠΆΠΈΠΌΠ°ΡΡ Javascript ΡΠ°ΠΉΠ». ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*19)
jsFileCompress = true
Π‘ΠΆΠΈΠΌΠ°ΡΡ CSS ΡΠ°ΠΉΠ». ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*20)
cssFileCompress = true
Π Π°Π·ΡΠ΅ΡΠΈΡΡ ΡΠΆΠ°ΡΠΈΠ΅ HTML-ΠΊΠΎΠ΄Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*21)
htmlCompress = true
ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ HTML-ΠΊΠΎΠ΄Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ, (*22)
$htmlCompressOptions = [
'extra' => false,
'no-comments' => true
];
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ CSS ΡΠ°ΠΉΠ»Ρ Π² ΡΠ°ΠΌΡΠΉ Π½ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*23)
cssFileBottom = true
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ CSS ΡΠ°ΠΉΠ»Ρ Π² Π½ΠΈΠ· ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Javascript. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ false, (*24)
cssFileBottomLoadOnJs = false
ΠΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡ Javascript ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Pjax. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ true, (*25)
noIncludeJsFilesOnPjax = true
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ CSS ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ css, (*26)
pathCompileCssFile = 'css'
ΠΠ°Π·Π²Π°Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ Π΄Π»Ρ Ρ
ΡΠ°Π½Π΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Javascript ΡΠ°ΠΉΠ»Π°. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ js, (*27)
pathCompileJsFile = 'js'
sitkodenis.ru, (*28)