В Yii2 есть $this->registerJs()
Метод доступен в представлениях для регистрации встроенного JS. Я использую это как описано в документация:
$js = "...prepare js code...";
$this->registerJs($js, View::POS_READY);
Проблема в том, что с View::POS_READY
(который является значением по умолчанию для второго аргумента) registerJs()
неявно требует yii\web\JqueryAsset
(исходный код).
Но я уже включил Jquery в свой пакет активов — это all-min.js
Есть плагины Jquery +, минимизированные и объединенные в одном файле. Yii2 включает в себя JqueryAsset
, поэтому дублирует Jquery на результирующей странице.
Как мне сообщить Yii2, что Jquery уже включен, или как-то иначе избежать этого дублирования?
Вы можете легко настроить пакет активов jquery, настроив assetManager
в конфигурации компонентов приложения (обычно config/web.php
).
Вы можете отключить один или несколько пакетов активов, связав false
с именами пакетов активов, которые вы хотите отключить:
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => false,
],
],
Прочитайте больше : http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#customizing-asset-bundles
Других решений пока нет …