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最全前端资源汇总:云集前端教程.开发资源.免费书籍.手册规范.求职面试等等,旨在为前端学习 & 技能提升提供方便.当然,并不期望这成为一个前端 ...
最新文章
- 【python】使用python脚本将CelebA中图片按照 list_attr_celeba.txt 中属性处理(删除、复制、移动)
- 一份完整的数据科学竞赛指南!
- 从微信红包的春节活动运营方案中,必读的运营策略
- VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决
- python把a当作b_Python中的zip(), *zip()与zip(*zip(a,b))
- OPEN SQL中通配符的使用
- PHP 模拟库存出库商品
- 把js封装到html,什么是javascript封装?
- Dijkstra最短路算法
- LaTex 在线编辑编译,生成PDF —— Overleaf
- 值钱的木头——前缀和思想
- 微商必看:快速加微信好友的技巧
- Android中侧滑菜单的实现
- dex2oat导致机器很卡的问题分析
- 基于51单片机的十字路口交通红绿灯控制系统仿真原理图方案设计
- python 股票市场分析实战
- Unity的声音(音频)管理器
- Android_Mms源代码接受短信流程
- 无线hacking系统—wifislax
- android面试题2020!年末阿里百度等大厂技术面试题汇总,社招面试心得
热门文章
- verilog specify功能
- Creating Bootstrapper Packages
- 计算机网络强化学习笔记
- xp sql2000 安装SP4失败解决方案
- 三星s5 android 5.0 root权限,三星N9008S 5.0 root教程_三星N9008S获取5.0系统root权限
- Session.Abandon和Session.Clear的实现和区别
- numpy中的meshgrid函数
- XSD(Xml Schema Definiton)简介
- JavaScript终极面试题:null == undefined、[]+{}、{}+{}等结果多少呢?看完遍打通了奇经八脉任何对象的运算都会了
- Linux 磁盘清理方法步骤