今天在写一个扩展,扩展中要求,扩展中可以任意地方输出jquery代码,那么jquery就必须在head中首先加载。
大家都知道Yii2中的assets js资源都是在末尾加载的,看了下文档,有几种方法,简单记录一下。
方法一(推荐):针对jquery进行components配置,指定Yii2自带jquery自带资源出现位置
修改config/web.php文件,添加如下代码:
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => [
'jsOptions' => [
'position' => \yii\web\View::POS_HEAD,
]
],
],
],
方法二:直接在 assets配置文件中进行js出现位置配置
修改assets/AppAsset.php文件,添加如下代码:
public $jsOptions = ['position' => \yii\web\View::POS_HEAD];
方法三(推荐):注释掉系统自带的Jquery,使用自己想要的Jquery,在layout文件head添加或者Yii系统进行注册使用
第一种方法方便直接
第二种方法是全局修改,一般不会这么做
第三种方法直接,可以使用压缩后的jquery版本
参考资料:
http://www.yiichina.com/doc/guide/2.0/structure-assets