首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >没有jQuery怎么使用Yii?

没有jQuery怎么使用Yii?
EN

Stack Overflow用户
提问于 2015-08-12 00:21:40
回答 3查看 782关注 0票数 3

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

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

EN

回答 3

Stack Overflow用户

发布于 2015-08-12 01:39:54

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

代码语言:javascript
运行
复制
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‘依赖项。

票数 1
EN

Stack Overflow用户

发布于 2015-08-12 01:58:51

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

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

代码语言:javascript
运行
复制
#remove the default main menu below
NavBar::begin([
    'brandLabel' => 'My Company',
    'brandUrl' => Yii::$app->homeUrl,
    'options' => [
        'class' => 'navbar-inverse navbar-fixed-top',
    ],
]);
echo Nav::widget([
    'options' => ['class' => 'navbar-nav navbar-right'],
    'items' => [
        ['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' => 'Logout (' . Yii::$app->user->identity->username . ')',
                'url' => ['/site/logout'],
                'linkOptions' => ['data-method' => 'post']],
    ],
]);
NavBar::end();

这将从Yii2中删除jquery.js。如果可以的话,我建议您从MooTools切换到Jquery。它会让你的生活变得轻松许多。

票数 1
EN

Stack Overflow用户

发布于 2015-08-12 02:00:34

from docs您可以通过将false关联到jQuery资源包来禁用该资源包:

代码语言:javascript
运行
复制
return [
    // ...
    'components' => [
        'assetManager' => [
            'bundles' => [
                'yii\web\JqueryAsset' => false,
            ],
        ],
    ],
];

但是你需要考虑到很多jQuery built in widgets会停止工作。

我不太了解Mootools,但如果它支持AJAX,并且你正在构建一个完整的前端,那么你也可以考虑使用Yii as a REST Service

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31947041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档