yii2 加载静态资源

1、在 assets/AppAsset 里定义方法

<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */

namespace appassets;

use yiiwebAssetBundle;

/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';

    // 全局
    public $css = [
        
    ];

    // 全局
    public $js = [
        
    ];

    public $depends = [
        // 'yiiwebYiiAsset',
        // 'yiiootstrapBootstrapAsset',  // 注释掉禁用bootstrap
    ];

    // 这是设置所有js放置的位置 
    public $jsOptions = [  
        'position' => yiiwebView::POS_HEAD,    
    ]; 

    //定义按需加载JS方法
    public static function addJs($view, $jsfile) { 
        $view->registerJsFile(
            $jsfile, 
            [
                AppAsset::className(), 
                "depends" => "appassetsAppAsset"
            ]
        ); 
    } 

    //定义按需加载css方法
    public static function addCss($view, $cssfile) { 
        $view->registerCssFile(
            $cssfile, 
            [
                AppAsset::className(), 
                "depends" => "appassetsAppAsset"
            ]
        ); 
    } 

}

2、在view里调用

<?php

/* @var $this yiiwebView */
/* @var $content string */

use yiihelpersHtml;
use yiiootstrapNav;
use yiiootstrapNavBar;
use yiiwidgetsBreadcrumbs;
use appassetsAppAsset;

// 注册全局加载
AppAsset::register($this);

// 按需加载css
AppAsset::addCss($this, Yii::$app->request->baseUrl."/css/site.css");
// 按需加载js
AppAsset::addJs($this, Yii::$app->request->baseUrl."/js/respond.min.js");

?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
    <meta charset="<?= Yii::$app->charset ?>">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?= Html::csrfMetaTags() ?>
    <title><?= Html::encode($this->title) ?></title>
    <?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>

        
    <?= $content ?>

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

  

原文地址:https://www.cnblogs.com/gouge/p/7169149.html