Class yii\web\AssetBundle

继承yii\web\AssetBundle » yii\base\BaseObject
实现yii\base\Configurable
子类yii\captcha\CaptchaAsset, yii\grid\GridViewAsset, yii\validators\PunycodeAsset, yii\validators\ValidationAsset, yii\web\JqueryAsset, yii\web\YiiAsset, yii\widgets\ActiveFormAsset, yii\widgets\MaskedInputAsset, yii\widgets\PjaxAsset
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/web/AssetBundle.php

AssetBundle 表示资源文件的集合, 如样式(CSS), 脚本(JS), 图像(images).

每个资源包都有一个唯一的名称, 该名称在应用程序中使用的所有资源包中进行全局标识. 该名称是表示它的类的 完全限定类名.

资源包可以依赖于其它资源包. 使用视图注册一个资源包时, 其所依赖的资源包都将自动注册.

有关 AssetBundle 的更多详细信息和使用信息, 请参阅 权威指南 - 应用结构 - 前端资源(Assets).

知识点1. 替换资源版本(配置文件main.php中):

'components' => [
    'assetManager' => [
        'basePath' => '@webroot/frontend/web/assets',
        'baseUrl' => '@web/frontend/web/assets',
        'bundles' => [
            'yii\web\JqueryAsset' => [
                'js' => ['jquery.min.js']
            ]
        ]
    ]
]

公共属性

隐藏继承的属性

属性类型描述定义在
$basePath string 在此资源包中包含资源文件的 Web 可访问目录. yii\web\AssetBundle
$baseUrl string $js$css 中列出的相关资源文件的基本 URL. yii\web\AssetBundle
$css array 此资源包包含的 CSS 文件列表. yii\web\AssetBundle
$cssOptions array 在此资源包中注册 CSS 文件时将传递给 yii\web\View::registerCssFile() 的选项. yii\web\AssetBundle
$depends array 此资源包所依赖的资源包类名称的列表. yii\web\AssetBundle
$js array 此资源包包含的 JavaScript 文件列表. yii\web\AssetBundle
$jsOptions array 在此资源包中注册 JS 文件时将传递给 yii\web\View::registerJsFile() 的选项. yii\web\AssetBundle
$publishOptions array 发布资源包时传递给 yii\web\AssetManager::publish() 的选项. yii\web\AssetBundle
$sourcePath string 包含此资源包的源资源文件的目录. yii\web\AssetBundle

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的已命名方法. yii\base\BaseObject
__construct() 构造函数. yii\base\BaseObject
__get() 返回对象属性的值. yii\base\BaseObject
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\BaseObject
__set() 设置对象属性的值. yii\base\BaseObject
__unset() 将对象属性设置为null. yii\base\BaseObject
canGetProperty() 返回一个值, 指示属性是否可读. yii\base\BaseObject
canSetProperty() 返回一个值, 指示属性是否可写. yii\base\BaseObject
className() 返回此类的完全限定名称. yii\base\BaseObject
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\BaseObject
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\BaseObject
init() 初始化该资源包. yii\web\AssetBundle
publish() 如果资源包的源代码不在 Web 可访问的目录下, 则发布资源包. yii\web\AssetBundle
register() 在视图中注册此资源包. yii\web\AssetBundle
registerAssetFiles() 使用给定的视图注册 CSS 和 JS 文件. yii\web\AssetBundle

属性详情

$basePath public 属性

在此资源包中包含资源文件的 Web 可访问目录.

如果设置了 $sourcePath, 则此属性在从 $sourcePath 发布资源文件时将被 yii\web\AssetManager 覆盖.

你可以使用目录或目录的别名.

public string $basePath null
$baseUrl public 属性

$js$css 中列出的相关资源文件的基本 URL.

如果设置了 $sourcePath, 则此属性在从 $sourcePath 发布资源文件时将被 yii\web\AssetManager 覆盖.

你可以使用 URL 或 URL 的别名.

public string $baseUrl null
$css public 属性

此资源包包含的 CSS 文件列表. 每个 CSS 文件都可以安装 $js 中所述的三种格式之一来指定.

Note: 仅正斜杠"/"可用作目录分隔符.

public array $css = []
$cssOptions public 属性

在此资源包中注册 CSS 文件时将传递给 yii\web\View::registerCssFile() 的选项.

public array $cssOptions = []
$depends public 属性

此资源包所依赖的资源包类名称的列表.

例如:

public $depends = [
   'yii\web\YiiAsset',
   'yii\bootstrap\BootstrapAsset',
];
public array $depends = []
$js public 属性

此资源包包含的 JavaScript 文件列表. 可以采用以下格式指定每个 JavaScript 文件:

  • 代表外部资源的绝对 URL. 例如http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js.
  • 代表本地资源的相对路径(eg. js/main.js). 可以通过在相对路径前面加上 $basePath 来确定本地资源的实际文件路径, 并且可以通过在相对路径前面加上 $baseUrl 来确定资源的实际 URL.
  • 一个数组, 第一个元素是前面描述的 URL 或相对路径, 以及将用于覆盖此元素的 $jsOptions 设置的 key => value 对的列表. 该功能从 2.0.7 起可用.

Note: 仅正斜杠"/"可用作目录分隔符.

public array $js = []
$jsOptions public 属性

在此资源包中注册 JS 文件时将传递给 yii\web\View::registerJsFile() 的选项.

public array $jsOptions = []
$publishOptions public 属性

发布资源包时传递给 yii\web\AssetManager::publish() 的选项. 该属性仅在设置 $sourcePath 时使用.

public array $publishOptions = []
$sourcePath public 属性

包含此资源包的源资源文件的目录. 源资源文件是 Web 应用程序的源代码存储库的一部分.

如果包含源资源文件的目录不可通过 Web 访问, 则必须设置此属性. 通过设置此属性, 当资源包在页面上注册时, yii\web\AssetManager 将自动将源资源文件发布到可通过 Web 访问的目录.

如果未设置此属性, 则表示源资源文件都位于 $basePath 下.

你可以使用目录或目录的别名.

参见 $publishOptions.

public string $sourcePath null

方法详情

init() public 方法

初始化该资源包.

如果重写此方法, 请确保在最后调用父实现.

public void init ( )
publish() public 方法

如果资源包的源代码不在 Web 可访问的目录下, 则发布资源包.

它还将尝试使用 资源转换器 将非 CSS 或 JS 文件(eg. LESS, Sass)转换为相应的 CSS 或 JS 文件.

public void publish ( $am )
$am yii\web\AssetManager

资源管理者执行资源发布.

register() public static 方法

在视图中注册此资源包.

public static static register ( $view )
$view yii\web\View

要注册的视图.

return static

注册的资源包实例.

registerAssetFiles() public 方法

使用给定的视图注册 CSS 和 JS 文件.

public void registerAssetFiles ( $view )
$view yii\web\View

要向其注册资源文件的视图.