Yii2:registerJs()隐式包含JqueryAsset,如何避免

时间:2016-09-22 08:55:29

标签: php jquery view yii2 assetbundle

在Yii2中,注册内联JS的视图中有一个$this->registerJs()方法。我按照documentation

中的描述使用它
$js = "...prepare js code...";
$this->registerJs($js, View::POS_READY);

问题在于View::POS_READY(这是第二个参数的默认值)registerJs()隐式需要yii\web\JqueryAssetsource code)。

但是我已经将Jquery包含在我自己的资产包中 - 它是all-min.js,Jquery +插件缩小并连接在一个文件中。 Yii2包含JqueryAsset,因此在结果页面上复制Jquery。

如何告诉Yii2已经包含Jquery或以其他方式避免重复?

1 个答案:

答案 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