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() ?>