资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

yii2如何引入css和js文件

这篇文章给大家分享的是有关yii2如何引入css和js文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联-专业网站定制、快速模板网站建设、高性价比定州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式定州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖定州地区。费用合理售后完善,10年实体公司更值得信赖。

引入方式有多种:

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

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

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

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


 * @since 2.0
 */
 class AppAsset extends AssetBundle{
     public $basePath = '@webroot';    
     public $baseUrl = '@web';    
     public $css = [        
     'css/site.css',        
     'css/base.css'
    ];    
    public $js = [        
    'js/sliders.js'
    ];    
    public $depends = [ //依赖包,没有可以不写
        'yii\web\YiiAsset',        
        'yii\bootstrap\BootstrapAsset',  
    ]; 
    //定义按需加载JS方法,注意加载顺序在最后  
    public static function addScript($view, $jsfile) {  
        $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'api\assets\AppAsset']);  
    }  
      
   //定义按需加载css方法,注意加载顺序在最后  
    public static function addCss($view, $cssfile) {  
        $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'api\assets\AppAsset']);  
    }  
}

在视图文件开头写入:

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

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

beginPage() ?> 
head() ?>
beginBody() ?> 
endBody() ?>
endPage() ?>

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

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

感谢各位的阅读!关于“yii2如何引入css和js文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


分享标题:yii2如何引入css和js文件
当前路径:http://www.cdkjz.cn/article/podhph.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220