yii2中替换自带的资源文件


yii2提供了一个开箱即用的源代码,对于新开始的项目这非常方便,可以很快的投入开发中。随着开发的深入,不断的增加第三方的资源文件(如js,css),这时就会发现yii框架提供的jquery等第三方库,可能因为版本不适配的原因无法使用。框架中引入的都是最新的第三方库。如果我想换个低版本的jquery该怎么办呢?yii2当然考虑到这一点了。DI的完美设计可以让我们通过修改配置文件优雅的解决这个问题。yii\web\AssetManager中定义了一个$bundles属性,我们可以通过修改这个属性来达到我们的目的。
再components下配置assetManager:

'assetManager' => [
    'bundles' => [
        'yii\web\JqueryAsset'=>[
             'class'=>'app\assets\util\JqueryAsset' //使用自定义的资源类
        ],
        
        'yii\web\YiiAsset' => [
             'depends'=>['app\assets\JqueryAsset'] //改变依赖
        ],
                        
        'yii\widgets\ActiveFormAsset' => [
            'js' => [],  // 去除 yii.activeForm.js
            'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
        ],
        
        'yii\validators\ValidationAsset' => [
            'js' => [],  // 去除 yii.validation.js
            'sourcePath' => null,  // 防止在 frontend/web/asset 下生产文件
        ],
    ],
],

现在可以愉快的与Yii2玩耍了。

Archives