【发布时间】:2015-01-20 13:20:45
【问题描述】:
我一直在努力弄清楚如何在 Yii 2 中加载 jQuery 或其他 CORE 脚本。
在Yii 1 中似乎是这样的:
<?php Yii::app()->clientScript->registerCoreScript("jquery"); ?>
在 Yii 2 中,$app 是 Yii 的一个属性,而不是一个方法,所以上面的自然是行不通的,而是改成:
<?php Yii::$app->clientScript->registerCoreScript("jquery"); ?>
产生这个错误:
Getting unknown property: yii\web\Application::clientScript
我找不到关于 Yii 2 加载核心脚本的任何文档,所以我尝试了以下方法:
<?php $this->registerJsFile(Yii::$app->request->baseUrl . '/js/jquery.min.js', array('position' => $this::POS_HEAD), 'jquery'); ?>
虽然这会在头部加载 jQuery,但 Yii 也会在需要时加载第二个版本的 jQuery,因此会导致冲突错误。
另外,我不想使用 Yii 的 jQuery 实现,我更愿意维护自己的,因此这就是我这样做的原因。
如何在 Yii 需要时加载 jQuery 和其他核心文件而不加载它们的重复副本?
【问题讨论】: