Настроил объединение и сжатие CSS/JS, но есть проблема - не получается подхватить опубликованные изображения.
Конфиг:
Код: Выделить всё
<?php
$jscomp = Yii::getAlias('@console/compilers/closure-compiler-v20181028.jar');
$csscomp = Yii::getAlias('@console/compilers/yuicompressor-2.4.7pre.jar');
return [
// Adjust command/callback for asset files GZIP compressing:
'gzipCommand' => '"C:\Program Files\7-Zip\7z.exe" a -tgzip {to} {from}',
// Whether to delete asset source after gzip compression:
'removeUnGzipped' => true,
// Adjust command/callback for JavaScript files compressing:
'jsCompressor' => 'java -jar ' . $jscomp . ' --js {from} --js_output_file {to}',
// Adjust command/callback for CSS files compressing:
'cssCompressor' => 'java -jar ' . $csscomp . ' --type css {from} -o {to} --charset utf-8',
// Whether to delete asset source after compression:
'deleteSource' => true,
// The list of asset bundles to compress:
'bundles' => [
\yii\web\YiiAsset::class,
\yii\web\JqueryAsset::class,
\yii\bootstrap\BootstrapPluginAsset::class,
\yii\validators\ValidationAsset::class,
\yii\widgets\ActiveFormAsset::class,
\yii\validators\PunycodeAsset::class,
\project\theme\AssetBundle::class,
],
// Asset bundle for compression output:
'targets' => [
'all' => [
'class' => \yii\web\AssetBundle::class,
'basePath' => '@webroot/gzipped',
'baseUrl' => '@web/gzipped',
'js' => 'all-{hash}.js',
'css' => 'all-{hash}.css',
],
],
// Asset manager configuration:
'assetManager' => [
'basePath' => '@webroot/gzipped',
'baseUrl' => '@web/gzipped',
'bundles' => [
'yii\\bootstrap\\BootstrapAsset' => [
'sourcePath' => null,
'css' => [],
],
],
],
];
class View:
Код: Выделить всё
public function getAssetUrl(string $bundle, string $url): string
{
$bundle = Yii::$app->assetManager->getBundle($bundle);
return $bundle->baseUrl . '/' . ltrim($url, '/');
}
Код: Выделить всё
<img src="<?= $this->getAssetUrl(\project\theme\AssetBundle::class, '/images/logo3.png') ?>">
Как правильнее поступить в данном случае?
И как после сжатия оставить только изображения и шрифты?