Yii2.0 Appasset学习

namespace frontend\assets;

use yii\web\AssetBundle;

/**
 * Main frontend application asset bundle.
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot'; // 资源文件并且可以web访问的目录
    public $baseUrl = '@web'; // web访问资源文件的url

    // css/js 资源包文件的数组
    //注册js文件时会调用\yii\web\View::registerJsFile()方法,
    //这个属性是用来定义registerJsFile方法的第二个参数配置,
    //可以填写的配置可以去看registerJsFile方法。这个属性为数组
    public $css = [
        'css/site.css',
        'css/1.css',
    ];
    public $js = [
        'js/1.js',
    ];

    // 该资源包依赖的其他资源
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
    public $cssOptions = [
        'noscript' => true,// 不加载这个css
    ];

    public $jsOptions = [
        'condition' => 'lte IE9', // 小于ie9的时候才加载
        'position' => \yii\web\View::POS_HEAD,//把js文件放在前面
    ];
}

按需加载

registerJsFile:加载JS文件

registerCssFile:加载CSS文件

registerJs:加载JS代码

registerCss:加载CSS代码

    $this->registerJsFile('@web/js/4.js',['position' => \yii\web\View::POS_HEAD, 'depends'=> 'yii\web\YiiAsset']);
    $this->registerCssFile('@web/css/3.css',['depends' => 'yii\bootstrap\BootstrapAsset']);
    // 加载js代码
    $js = <<<JS
    console.log('test js block');
JS;
    $this->registerJs($js);
    //  加载css代码
    $css = 'body{background-color:red;}';
    $this->registerCss($css);



导航