之前我们写的商城,我们把所有的前端模块通通放在了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)(一、初步实现)相关推荐

  1. Yii2 前端资源使用

    YII2 前端资源 定义资源包 <?phpnamespace app\assets;use yii\web\AssetBundle;class AppAsset extends AssetBun ...

  2. YII2前端资源Assets

    在手册里面我们看到如下的解释 也就是说在我们的应用(高级模版在frontend/backend)下面的assets目录下定义的又一个文件叫做 AppAsset.php在这个文件里面你可以定义你的js或 ...

  3. nginx 发布前端资源的缓存方案

    nginx 发布前端资源的缓存方案 前言 对于前端开发者来说,最头疼的事情莫过于.当你兴冲冲的给项目打包以后,上传到 nginx 等静态资源服务器发布以后,自己本地验证没问题,以为万事大吉,结果测试人 ...

  4. 前端资源整理 - 订阅、工具等

    取自 我的GITHUB 的 fe-store-house repo,欢迎 PR,欢迎 STAR.原 repo 不定期更新,此文可能断更. 断更了一年多,重新更新一下,似乎 sfgg 的文章渲染中 gf ...

  5. 2017年3月份前端资源分享

    平日学习接触过的网站积累,以每月的形式发布.2017年以前看这个网址:http://www.kancloud.cn/jsfron... 03月份前端资源分享 1. Javascript 1754535 ...

  6. 史上最全的前端资源汇总(下)

    56. 表格 Grid 表格 Grid 地址 facebook表格 http://facebook.github.io/fixed-data-table 类似于Excel编辑表格-handsontab ...

  7. 最全前端资源---快过来 最新鲜的资源这里都有

    如果您阅读之后,感觉有缺失:麻烦您告诉我 我进行补充.谢谢 综合类 综合类 地址 前端知识体系 前端知识体系 - naniJser - 博客园 前端知识结构 https://github.com/Ja ...

  8. 前端新思路:组件即函数和Serverless SSR实践

    导读:在今天,对于 Node.js 运维和高并发依然是很有挑战的,为了提效,将架构演进为页面即服务,可是粒度还不够,借着云原生和 Serverless 大潮,无运维,轻松扩展,对前端是极大的诱惑.那么 ...

  9. 转载 最全前端资源汇总

    一.概要 这份汇总整理,很程度上参考了GitHub最全前端资源汇总:云集前端教程.开发资源.免费书籍.手册规范.求职面试等等,旨在为前端学习 & 技能提升提供方便.当然,并不期望这成为一个前端 ...

最新文章

  1. 【python】使用python脚本将CelebA中图片按照 list_attr_celeba.txt 中属性处理(删除、复制、移动)
  2. 一份完整的数据科学竞赛指南!
  3. 从微信红包的春节活动运营方案中,必读的运营策略
  4. VS Code的Error: Running the contributed command: ‘_workbench.downloadResource‘ failed解决
  5. python把a当作b_Python中的zip(), *zip()与zip(*zip(a,b))
  6. OPEN SQL中通配符的使用
  7. PHP 模拟库存出库商品
  8. 把js封装到html,什么是javascript封装?
  9. Dijkstra最短路算法
  10. LaTex 在线编辑编译,生成PDF —— Overleaf
  11. 值钱的木头——前缀和思想
  12. 微商必看:快速加微信好友的技巧
  13. Android中侧滑菜单的实现
  14. dex2oat导致机器很卡的问题分析
  15. 基于51单片机的十字路口交通红绿灯控制系统仿真原理图方案设计
  16. python 股票市场分析实战
  17. Unity的声音(音频)管理器
  18. Android_Mms源代码接受短信流程
  19. 无线hacking系统—wifislax
  20. android面试题2020!年末阿里百度等大厂技术面试题汇总,社招面试心得

热门文章

  1. verilog specify功能
  2. Creating Bootstrapper Packages
  3. 计算机网络强化学习笔记
  4. xp sql2000 安装SP4失败解决方案
  5. 三星s5 android 5.0 root权限,三星N9008S 5.0 root教程_三星N9008S获取5.0系统root权限
  6. Session.Abandon和Session.Clear的实现和区别
  7. numpy中的meshgrid函数
  8. XSD(Xml Schema Definiton)简介
  9. JavaScript终极面试题:null == undefined、[]+{}、{}+{}等结果多少呢?看完遍打通了奇经八脉任何对象的运算都会了
  10. Linux 磁盘清理方法步骤