我如何更新jQuery到版本3. *在yii2项目中使用作曲家

问题描述:

我有一个项目是在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项目中使用作曲家

有什么我失踪了吗?

的问题是,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

实际上您并不需要使用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'], 
      ], 
     ], 
    ], 
],