如何将 jQuery UI 添加到 Asset Bundle

How to add jQuery UI to an Asset Bundle

我有以下资产包,我想添加 jQuery UI 作为其中的一部分。我该怎么做?

<?php
namespace app\assets;

use yii\web\AssetBundle;

class AdminAsset extends AssetBundle
{
    public $basePath = '@webroot/assets-admin';
    public $baseUrl = '@web/assets-admin';

    public $css = [
        'css/common.css',
        'css/animations.css',
        'css/editor.css',
        'css/form.css',
        'css/fileupload.css',
        'css/template.css',
        'css/icons.css',
    ];
    public $js = [
        'js/libs/modernizr.js',
        'js/script.js'
    ];
    public $depends = [
        'yii\web\JqueryAsset',
        'yii\web\YiiAsset',
    ];
} 

首先安装官方JUI Extension for Yii 2.

然后将 yii\jui\JuiAsset 添加到依赖资产列表:

public $depends = [
    'yii\jui\JuiAsset',
    ...       
];

yii\web\JqueryAsset 在这种情况下不是必需的,因为 JuiAsset 已经将它包含在依赖项列表中,因此它也将被包含在内。

由于接受的答案在 Yii 2.10 中不再有效,我将添加我的解决方案。

现在有必要包含 CoreAsset 以及所需的 jui 组件。其他组件依赖于 CoreAsset,所以例如如果你想使用 draggable,请执行:

public $depends = [
    //'yii\jui\CoreAsset', // included as dependency of draggable
    'yii\jui\DraggableAsset',
];