0
프로젝트 요구 사항 Yii2와 함께 제공되는 jQuery와 다른 버전을 사용해야합니다. 그런 다음Yii 2 및 jQuery
'assetManager' => [
'bundles' => [
// you can override AssetBundle configs here
'yii\web\JqueryAsset' => [
'sourcePath' => null,
'js' => []
],
],
],
내가 AppAsset로 이동 :
class AppAsset extends AssetBundle
{
public $sourcePath = "@app/themes/v1/assets";
public $jsOptions = [ 'position' => \yii\web\View::POS_END ];
public $js = [
"js/lib/jquery/jquery-1.9.1.js",
];
}
그러나 이것은 하나의 큰 문제 yii.validation 후 JQuery와로드 등 제공 :
</script><script src="/assets/5b466ff1/yii.js?v=1465857632"></script>
<script src="/assets/5b466ff1/yii.validation.js?v=1465857632"></script>
<script src="/assets/5b466ff1/yii.activeForm.js?v=1465857632"></script>
<script src="/assets/98d185b3/js/lib/jquery/jquery-1.9.1.js?v=1466702133"></script>
을 나는 사용하여 비활성화 할 수 있습니다 알고
일시적인 해결책은 POS_END를 POS_HEAD로 변경하지만 그 점은 SEO 페이지에 영향을 줍니까? 내가 아는 한 머리에 js를로드하는 것은 나쁜 습관으로 간주됩니다.
그래서 제 질문은 :
어떻게 yii.validation 등 전 POS_END 및로드를 사용하여 내 테마 자산에서 jQuery를로드 할 수 있습니다?
가능성은 web/js/jquery.js에 추가하는 것이지만 자산 번들에 보관하는 것이 좋습니다.
아이디어가 있으십니까?
업데이트 : AppAsset이 추가가
나 주제 자체에 제어 할 수 있습니다. 글로벌 구성을 수정하는 것보다 깔끔합니다.
public function init()
{
parent::init();
Yii::$app->assetManager->bundles['yii\\web\\JqueryAsset'] = [
'js' => ['lib/jquery/jquery-1.9.1.js'],
'sourcePath' => '@app/themes/v1/assets/js'
];
}
그래서 간단!에
jquery
을 정의 할 필요, 나는 그것을 시도하지 않았다. 감사!! – Eduardo