Yii2 объединение & amp; Сжатие активов не работает с группами пакетов

У меня проблемы с пониманием, как объединить&Сжатие активов Yii2. Я прочитал раздел в руководстве (http://www.yiiframework.com/doc-2.0/guide-structure-assets.htmlЯ до сих пор не могу заставить это работать или, по крайней мере, понять самые основы этого вопроса.

Из приведенного там примера я не могу воспроизвести это и решить следующий сценарий.

AppAsset содержит основные CSS / JS для приложения. Общий и необходимый код должен быть включен сюда. Этот файл зависит от другого файла с именем ExternalAssets, который, в свою очередь, зависит от YiiAsset, BootstrapAsset и т. Д.

CheckoutAsset содержит код, относящийся только к процессу оформления заказа. Должен быть также включен с вышеупомянутым, потому что это добавляет пользовательскую функциональность, но относится только к этому разделу. $ зависит от AppAsset.

ProductViewAsset то же самое, что и выше, но относится к визуализации данного продукта.

Конфигурация актива дается:

'bundles' => [
'yii\web\JqueryAsset',
'rmrevin\yii\fontawesome\AssetBundle',
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yii\bootstrap\BootstrapPluginAsset',
'yii\widgets\ActiveFormAsset',
'frontend\assets\ExternalAssets',
'frontend\assets\AppAsset',
],
'targets' => [
'app' => [
'class' => 'yii\web\AssetBundle',
'basePath' => '@webroot/assets',
'baseUrl' => '@web/assets',
'js' => 'js/app-{hash}.js',
'css' => 'css/app-{hash}.css',
'depends' => [ ],
],
]

На данный момент я могу сжимать все, что должно быть общим (хотя может быть возможно удалить некоторые ненужные файлы), но на страницах, которые используют ProductViewAsset или CheckoutAsset, включенные файлы не сжимаются таким же образом ,

Возможно, в процессе оформления заказа можно сжать все до одного файла (общие данные + данные извлечения) или, возможно, не из-за причин кэширования. Не знаю, возможно ли это, но я не могу заставить его работать. Это насколько я получил с этим. Я пытался сделать это, потому что это казалось естественным, но у меня появились ошибки, подобные этой Уведомление PHP «yii \ base \ ErrorException» с сообщением «Неопределенный индекс: внешний интерфейс \ assets \ ExternalAssets» при попытке создать разные группы активов:

'targets' => [
'app' => [
'class' => 'yii\web\AssetBundle',
'basePath' => '@webroot/assets',
'baseUrl' => '@web/assets',
'js' => 'js/app-{hash}.js',
'css' => 'css/app-{hash}.css',
'depends' => [
// 'frontend\assets\ExternalAssets'
],
'checkout' => [
'class' => 'yii\web\AssetBundle',
'basePath' => '@webroot/assets',
'baseUrl' => '@web/assets',
'js' => 'js/checkout-{hash}.js',
'css' => 'css/checkout-{hash}.css',
'depends' => [
'frontend\assets\AppAssets'
],
],

Может быть, я смотрю на неправильный подход здесь, но я не могу понять, каков наилучший способ сделать это. Я думаю, что сжатие всего в один файл должно работать лучше, чем не объединять&Сжатие файлов, но я думаю, что можно оптимизировать комбайн&подход сжатия в этом случае.

Спасибо!

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector