yii2 AssetBundle使用

在 Yii 框架中,AssetBundle 类是用来管理和注册资源包(如 CSS、JS 文件)的一个非常方便的方式。AppAsset 类继承自 AssetBundle,用于定义应用的主要前端资源。

AppAsset 类中,basePathbaseUrl 属性用于定义资源文件的物理路径和 URL 路径。

  • basePath:定义资源文件存放的物理路径。@webroot 是一个别名,它指向你的 web 目录的根目录。这意味着如果你有一个 CSS 文件放在 web 目录的 css 文件夹下,你可以使用 @webroot/css 来访问它。

  • baseUrl:定义资源文件的 URL 路径。@web 同样是一个别名,它指向你的 web 目录的 URL。如果你的 web 目录配置为应用的根目录,那么 @web 实际上就是网站的根 URL。

如何使用 basePath

  1. 定义资源路径:首先,确保你的资源文件(如 CSS、JS)已经放在了正确的目录下。比如,你有一个 CSS 文件放在了 web/css 目录下。

  2. 配置 AppAsset:在 AppAsset 类中,你可以通过修改 $css$js 属性来注册你的资源文件。例如,如果你想注册上面提到的 CSS 文件,你可以这样做:

    public $css = [
        'css/my-style.css', // 相对于 basePath 的路径
    ];
    
  3. 使用资源:一旦你在 AppAsset 类中注册了资源文件,Yii 会自动处理这些文件的加载。在你的视图或布局文件中,你只需要调用 AppAsset::register($this) 方法来确保资源被正确加载。通常,这会在你的基础布局文件中完成。

示例

假设你有一个基础布局文件 views/layouts/main.php,你可以这样注册资源:

<?php
use app\assets\AppAsset;

AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
    <meta charset="<?= Yii::$app->charset ?>">
    <!-- 其他 head 标签 -->
    <?php $this->head() ?>
</head>
<body>
    <?php $this->beginBody() ?>
    
    <!-- 页面内容 -->

    <?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>

这样,当你访问页面时,AppAsset 中定义的资源文件就会被自动加载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杰哥技术分享

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值