yii2 前端资源发布组件(Assets)(一、初步实现)
之前我们写的商城,我们把所有的前端模块通通放在了web的assets目录下,加载资源的时候回加载所有资源。无疑这样网页加载速度会大大减慢
- 相关概念
- 资源
- 资源包
- 定义资源包
- 使用资源包
相关概念
资源
我们页面所需要的css,js,图片,或者视频等等
资源包
在渲染页面时,可以将所需要的资源假如资源包,在页面中注册该资源包即可渲染对应的资源
定义资源包
<?phpnamespace backend\assets;use yii\web\AssetBundle;/*** Main backend application asset bundle.*/
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',];
}
这里就是我们的yii高级模板中自定义的一个资源包。
我们可以看到,我们的AppAsset
继承自我们的AssetBundle
类
我们来看一看AssetBundle
中有什么属性
@设置我们的资源目录的路径,当我们资源位于服务器目录外时设置此属性,如不设置该属性则表示资源路径位于basePath下
$sourcePath @设置我们WEB可以访问的资源路径,如果设置了sourcePath,该属性将会被覆盖
$basePath@web访问资源文件的URL地址
$baseUrl@设置我们加载资源所依赖的资源包(如boostarp依赖jquery)
$depends[]@js文件
$js[]
@css文件
$css[]@加载时所用到的选项
$jsOptions[]
$cssOptions[]@指定我们sourcePath下的发布文件
$publishOptions[]
使用资源包
我们介绍了之后再来看一看,刚才的例子代码
<?phpnamespace backend\assets;use yii\web\AssetBundle;class AppAsset extends AssetBundle
{public $basePath = '@webroot'; //定义了我们资源路径为,@webroot即当前web服务器路径public $baseUrl = '@web';//设定我们的url为当前urlpublic $css = ['css/site.css',//添加了basePath/css/site.css文件];public $js = [//js文件为空];public $depends = [//指定我们上面的css,js所依赖的资源包'yii\web\YiiAsset','yii\bootstrap\BootstrapAsset',];
}
在这写了之后我们在view视图里面调用它。
<?php
use backend/assets/AppAsset;
AppAssets::register($this);//给该视图注册资源包
?>
<?php $this->beginPage()?>
<html>......<?php $this->head();?>//输出我们的资源........<body><?php $this->beginBody();?>......<?php $this->endBody();?></body>......
</html><?php $this->endPage()?>
?>
这样就初步实现了我们的前端资源发布
yii2 前端资源发布组件(Assets)(一、初步实现)相关推荐
- Yii2 前端资源使用
YII2 前端资源 定义资源包 <?phpnamespace app\assets;use yii\web\AssetBundle;class AppAsset extends AssetBun ...
- YII2前端资源Assets
在手册里面我们看到如下的解释 也就是说在我们的应用(高级模版在frontend/backend)下面的assets目录下定义的又一个文件叫做 AppAsset.php在这个文件里面你可以定义你的js或 ...
- nginx 发布前端资源的缓存方案
nginx 发布前端资源的缓存方案 前言 对于前端开发者来说,最头疼的事情莫过于.当你兴冲冲的给项目打包以后,上传到 nginx 等静态资源服务器发布以后,自己本地验证没问题,以为万事大吉,结果测试人 ...
- 前端资源整理 - 订阅、工具等
取自 我的GITHUB 的 fe-store-house repo,欢迎 PR,欢迎 STAR.原 repo 不定期更新,此文可能断更. 断更了一年多,重新更新一下,似乎 sfgg 的文章渲染中 gf ...
- 2017年3月份前端资源分享
平日学习接触过的网站积累,以每月的形式发布.2017年以前看这个网址:http://www.kancloud.cn/jsfron... 03月份前端资源分享 1. Javascript 1754535 ...
- 史上最全的前端资源汇总(下)
56. 表格 Grid 表格 Grid 地址 facebook表格 http://facebook.github.io/fixed-data-table 类似于Excel编辑表格-handsontab ...
- 最全前端资源---快过来 最新鲜的资源这里都有
如果您阅读之后,感觉有缺失:麻烦您告诉我 我进行补充.谢谢 综合类 综合类 地址 前端知识体系 前端知识体系 - naniJser - 博客园 前端知识结构 https://github.com/Ja ...
- 前端新思路:组件即函数和Serverless SSR实践
导读:在今天,对于 Node.js 运维和高并发依然是很有挑战的,为了提效,将架构演进为页面即服务,可是粒度还不够,借着云原生和 Serverless 大潮,无运维,轻松扩展,对前端是极大的诱惑.那么 ...
- 转载 最全前端资源汇总
一.概要 这份汇总整理,很程度上参考了GitHub最全前端资源汇总:云集前端教程.开发资源.免费书籍.手册规范.求职面试等等,旨在为前端学习 & 技能提升提供方便.当然,并不期望这成为一个前端 ...
最新文章
- 面试必考之http状态码有哪些
- 只要你的AI算法能比小白鼠聪明,DeepMind的这20万奖金请拿走
- golang web 静态文件
- TThread深入分析
- 智慧城市顶层设计方法_主頁
- 机器学习笔记(一)绪论
- 海量数据 - join处理
- mysql80连接不上本地服务器_Windows Server 2016 远程桌面本地连接不上
- 如何看懂源代码–(分析源代码方法)
- [ARM]【编译】【实践】 - 浮点编译选项NEON引发的Skia的库Illegal instruction运行错误和解决办法
- Python计算组合数生成杨辉三角形
- 【GTK】如何得到控件的位置
- 蓝桥c++2013真题:逆波兰表达式(代码填空题)
- CentOS 6.x通过yum安装php7.1及相关环境
- javascript前端导出Excel简单写法
- 论文解读:iDRNA-ITF:基于诱导和转移框架识别蛋白质中的DNA和RNA结合残基
- 不要把别人对你的好,当作是理所当然
- 阿里云服务器的windows和linux系统怎么选
- 使用头文件winbase.h的错误
- 面经——oppo2022校招Linux系统工程师
热门文章
- 特立独行的ReentrantLock
- 小试牛刀:SQL 注入攻击
- 基于 WebGoat 平台的 SQL 注入攻击
- Linux三大剑客(grep,sed,awk)
- 2021 ICCV : Instance-level Image Retrieval using Reranking Transformers
- 基于SPI通信方式的OLED显示
- 计算深度学习评价指标Precision、Recall、F1
- 爆 曝安克产品主图被恶意篡改;TikTok超越谷歌登上全球流量榜首;中国-东南亚运费暴涨10倍...|洞悉跨境
- Blender-烘焙动画,解除约束父子级,导入UE4
- javascript promises的使用