2017-07-07 99 views
2

我有一個項目是在yii2的高級模板中工作。當我在vendor/bower/jquery/dist/jquery.js中檢查jquery的版本時,當前版本是2.2.4。我想將此版本更新到3.2.1版本,但做一個作曲家更新似乎並沒有更新我的涼亭資產。我嘗試設置composer global require "fxp/composer-asset-plugin:>=1.3.1",然後再次運行composer update,但沒有運氣。 jquery版本仍然是2.2.4。我如何更新jQuery到版本3. *在yii2項目中使用作曲家

有什麼我失蹤了嗎?

回答

1

的問題是,Yii2框架有其自己的作曲文件中定義/vendor/yiisoft/yii2/composer.json文件看起來像這樣的依賴關係:

"bower-asset/jquery": "2.2.*@stable | 2.1.*@stable | 1.11.*@stable | 1.12.*@stable"

基本上這限制了jQuery版本爲您的應用。

不幸的是,我現在看不到如何解決這個問題。但是GitHub上已經提出了一個問題,Milestone設置爲2.0.13,因此希望它會被更新: https://github.com/yiisoft/yii2/issues/14338

4

實際上您並不需要使用composer來切換到更新的jQuery版本。通過配置yii\web\JqueryAsset,您可以根據需要覆蓋已加載的jQuery庫,例如

在/config/main.php

... 
'components' => [ 
    'assetManager' => [ 
     'bundles' => [ 
      'yii\web\JqueryAsset' => [ 
       'js' => [YII_DEBUG ? 'https://code.jquery.com/jquery-3.2.1.js' : 'https://code.jquery.com/jquery-3.2.1.min.js'], 
       'jsOptions' => ['type' => 'text/javascript'], 
      ], 
     ], 
    ], 
],