在Yii2中,注册内联JS的视图中有一个$this->registerJs()
方法。我按照documentation:
$js = "...prepare js code...";
$this->registerJs($js, View::POS_READY);
问题在于View::POS_READY
(这是第二个参数的默认值)registerJs()
隐式需要yii\web\JqueryAsset
(source code)。
但是我已经将Jquery包含在我自己的资产包中 - 它是all-min.js
,Jquery +插件缩小并连接在一个文件中。 Yii2包含JqueryAsset
,因此在结果页面上复制Jquery。
如何告诉Yii2已经包含Jquery或以其他方式避免重复?
答案 0 :(得分:2)
您可以通过在应用程序组件配置中配置assetManager
(通常为config/web.php
)轻松自定义jquery资产包。
您可以通过将false
与要禁用的资产包名称相关联来禁用一个或多个资产包:
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => false,
],
],
了解详情:http://www.yiiframework.com/doc-2.0/guide-structure-assets.html#customizing-asset-bundles