Yii2 如何在没有jQuery的情况下使用Yii?

Yii2 如何在没有jQuery的情况下使用Yii?,yii2,Yii2,不幸的是,我工作的公司已经有很多为Mootools编写的客户端代码,而且他们似乎不太喜欢对方 无论我做什么,我似乎都无法阻止jQuery被包含在每个页面中。有什么想法吗?默认情况下,Yii应用程序模板使用AppAsset class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web'; public $css = [ 'css/site

不幸的是,我工作的公司已经有很多为Mootools编写的客户端代码,而且他们似乎不太喜欢对方


无论我做什么,我似乎都无法阻止jQuery被包含在每个页面中。有什么想法吗?

默认情况下,Yii应用程序模板使用AppAsset

class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
    public $css = [
        'css/site.css',
    ];
    public $js = [
    ];
    public $depends = [
        'yii\web\YiiAsset',
        'yii\bootstrap\BootstrapAsset',
    ];
}
这取决于
YiiAsset
资产包,而Yii内置小部件大量使用jQuery。如果不打算使用yii客户端功能,请删除“yii\web\YiiAsset”依赖项。

转到AppAsset.php并删除
yii\web\YiiAsset

另外,转到主布局文件,删除默认的导航栏,因为它将调用jquery.js进行渲染

#删除下面的默认主菜单
导航栏::开始([
“品牌标签”=>“我的公司”,
'brandUrl'=>Yii::$app->homeUrl,
“选项”=>[
“类”=>“导航条反向导航条固定顶部”,
],
]);
echo导航::小部件([
'选项'=>['class'=>'导航栏导航栏右'],
'项目'=>[
['label'=>'Home','url'=>['/site/index']],
['label'=>'About','url'=>['/site/About']],
['label'=>'Contact','url'=>['/site/Contact']],
Yii::$app->user->isGuest?
['label'=>'Login','url'=>['/site/Login']]:
['label'=>'注销('.Yii::$app->user->identity->username'),
'url'=>['/site/logout'],
“链接选项”=>[“数据方法”=>“发布”]],
],
]);
NavBar::end();
这将从Yii2中删除jquery.js。如果可以的话,我建议您从MooTools切换到Jquery。它使您的生活更加轻松。

您可以通过将false关联到jQuery资产包来禁用它:

返回[
// ...
“组件”=>[
“资产管理器”=>[
“bundles”=>[
'yii\web\JqueryAsset'=>false,
],
],
],
];
但是你需要考虑很多人会停止工作。< /P>

我对MOOToo工具了解不多,但是如果它支持Ajax,并且在上面构建了一个完整的前端,那么您也可以考虑使用.

:YIi经常使用JavaScript,即使开发人员没有明确要求。框架选择了Yii发行版中包含的库JQuery。