之前我们写的商城,我们把所有的前端模块通通放在了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. 面试必考之http状态码有哪些
  2. 只要你的AI算法能比小白鼠聪明,DeepMind的这20万奖金请拿走
  3. golang web 静态文件
  4. TThread深入分析
  5. 智慧城市顶层设计方法_主頁
  6. 机器学习笔记(一)绪论
  7. 海量数据 - join处理
  8. mysql80连接不上本地服务器_Windows Server 2016 远程桌面本地连接不上
  9. 如何看懂源代码–(分析源代码方法)
  10. [ARM]【编译】【实践】 - 浮点编译选项NEON引发的Skia的库Illegal instruction运行错误和解决办法
  11. Python计算组合数生成杨辉三角形
  12. 【GTK】如何得到控件的位置
  13. 蓝桥c++2013真题:逆波兰表达式(代码填空题)
  14. CentOS 6.x通过yum安装php7.1及相关环境
  15. javascript前端导出Excel简单写法
  16. 论文解读:iDRNA-ITF:基于诱导和转移框架识别蛋白质中的DNA和RNA结合残基
  17. 不要把别人对你的好,当作是理所当然
  18. 阿里云服务器的windows和linux系统怎么选
  19. 使用头文件winbase.h的错误
  20. 面经——oppo2022校招Linux系统工程师

热门文章

  1. 特立独行的ReentrantLock
  2. 小试牛刀:SQL 注入攻击
  3. 基于 WebGoat 平台的 SQL 注入攻击
  4. Linux三大剑客(grep,sed,awk)
  5. 2021 ICCV : Instance-level Image Retrieval using Reranking Transformers
  6. 基于SPI通信方式的OLED显示
  7. 计算深度学习评价指标Precision、Recall、F1
  8. 爆 曝安克产品主图被恶意篡改;TikTok超越谷歌登上全球流量榜首;中国-东南亚运费暴涨10倍...|洞悉跨境
  9. Blender-烘焙动画,解除约束父子级,导入UE4
  10. javascript promises的使用