Yii2 前端资源管理笔记
简单介绍
资源是什么?
Yii中的资源是 和Web页面相关的文件
,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用。在yii中实现了使用程序自动管理资源。
管理方式
Yii在资源包中管理资源,资源包
简单的说就是放在一个目录下的资源集合
,在视图中注册一个资源包,在渲染Web页面时会包含包中的CSS和JavaScript文件
资源包管理类
继承于yii\web\AssetBundle
的类,类名可自动加载。在类中要指定:
- 资源所在位置,
- 要包含的css、js文件
- 依赖的包
如下, 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30<?php
/**
- @link http://www.yiiframework.com/
- @copyright Copyright (c) 2008 Yii Software LLC
- @license http://www.yiiframework.com/license/
*/
namespace app\assets;
use yii\web\AssetBundle;
/**
- @author Qiang Xue <qiang.xue@gmail.com>
- @since 2.0
*/
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
资源分类 -- 根据资源所在的位置
源资源
发布资源
外部资源
使用资源包
- 视图中
- 小部件类中
1 |
|
yii2中的代码实现
SiteController中怎么加载进来的?在那个位置,怎么调用的代码?
文件 @app/views/layouts/main.php
调用的代码$this->endBody()
yii\web\View
registerAssetBundle($name, $position = null)
注册依赖的资源包,其中$name
是资源包的管理类的类名。
参考
http://www.yiichina.com/doc/guide/2.0/structure-assets