博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
yii2引入css和js文件
阅读量:4962 次
发布时间:2019-06-12

本文共 2050 字,大约阅读时间需要 6 分钟。

转http://blog.csdn.net/cs23405/article/details/46865027

最近研究yii2,本想自己写个小项目练习一下,没想到开始就遇到难题了,就是如何引入css和js文件。闲话不多说,下面开始。

1、可以直接在视图页面上引入

[php]
  1. <?php   
  2. use yii\helpers\Html;  
  3. ?>  
  4. <?=Html::cssFile('@web/css/index.css')?>  
  5. <?=Html::jsFile('@web/js/jquery.min.js')?>  

2、可以直接写原生代码引入,路径是项目目录/web/css 或者/js

[php]
  1. <script src="js/nav.js"></script>   

3、可以使用assetBundle管理css样式及js脚本.

资源包定义:basic/assets/AppAsset.

[php]
  1. <?php  
  2. /** 
  3.  * @link http://www.yiiframework.com/ 
  4.  * @copyright Copyright (c) 2008 Yii Software LLC 
  5.  * @license http://www.yiiframework.com/license/ 
  6.  */  
  7.   
  8. namespace app\assets;  
  9.   
  10. use yii\web\AssetBundle;  
  11.   
  12. /** 
  13.  * @author Qiang Xue <qiang.xue@gmail.com> 
  14.  * @since 2.0 
  15.  */  
  16. class AppAsset extends AssetBundle  
  17. {  
  18.     public $basePath = '@webroot';  
  19.     public $baseUrl = '@web';  
  20.     public $css = [  
  21.         'css/site.css',  
  22.         'css/base.css'  
  23.     ];  
  24.     public $js = [  
  25.         'js/sliders.js'  
  26.     ];  
  27.     public $depends = [ //依赖包,没有可以不写  
  28.         'yii\web\YiiAsset',  
  29.         'yii\bootstrap\BootstrapAsset',    
  30.     ];  
  31.   
  32.     //定义按需加载JS方法,注意加载顺序在最后    
  33.     public static function addScript($view, $jsfile) {    
  34.         $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'api\assets\AppAsset']);    
  35.     }    
  36.         
  37.    //定义按需加载css方法,注意加载顺序在最后    
  38.     public static function addCss($view, $cssfile) {    
  39.         $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'api\assets\AppAsset']);    
  40.     }    
  41. }  

在视图文件开头写入:

[php]
  1. <?php  
  2. use yii\helpers\Html;  
  3. use app\assets\AppAsset;  
  4.   
  5. AppAsset::register($this);  
  6.   
  7. ?>  

到现在为止,我们可以在浏览器上测试,发现并没有引入css和js文件,这里要注意了,我们还需要最后一步:

在视图文件中我们要加入一下代码(注:如果我们使用公共视图文件,可以加入到公共视图文件,如果没有使用,可以放到单独页面中)

[php]
  1. <?php $this->beginPage() ?> <?php $this->head() ?> <?php $this->beginBody() ?> <?php $this->endBody() ?><?php $this->endPage() ?>  

4、不需要在资源包管理器中定义方法,只要在视图页面中直接引入即可

[php]
    1. AppAsset::register($this);    
    2. //css定义一样    
    3. $this->registerCssFile('@web/css/font-awesome.min.css',['depends'=>['api\assets\AppAsset']]);    
    4.     
    5.  $this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['api\assets\AppAsset']]);    
    6. //$this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['api\assets\AppAsset'],'position'=>$this::POS_HEAD]);   

转载于:https://www.cnblogs.com/sensai-sun/p/6694327.html

你可能感兴趣的文章
[Leetcode Week13]Search a 2D Matrix
查看>>
查看端口占用cmd命令
查看>>
2019.01.17王苛震作业
查看>>
Halcon学习(八)文本操作
查看>>
MFC电子词典
查看>>
清除浮动
查看>>
PayPal(贝宝)支付接口、文档、IPN
查看>>
ORACLE 10G R2_执行计划中cost cardinality bytes cpu_cost io_cost解释
查看>>
关于this和base
查看>>
本地存储
查看>>
MP3的播放与停止
查看>>
牛客(59)按之字形顺序打印二叉树
查看>>
JavaScript 图表库 xCharts
查看>>
Android项目的目录结构
查看>>
C++中“引用”的底层实现
查看>>
vuex中的dispatch和commit
查看>>
mybatis实战教程二:多对一关联查询(一对多)
查看>>
NodeMCU文档中文翻译 3 构建固件
查看>>
前端学习☞jquery
查看>>
10分钟搞懂树状数组
查看>>