Подтвердить что ты не робот

Yii2 отключить Bootstrap Js, JQuery и CSS

То же, что и название, я не хочу использовать bootstrap.css и bootstrap.js. Я пытаюсь использовать:

'assetManager' => [
    'bundles' => [
        'yii\bootstrap\BootstrapAsset' => [
            'css' => [],
        ],
    ],
],

Удаляет bootstrap.css, но не может удалить bootstrap.js. Кто-нибудь может мне помочь?

4b9b3361

Ответ 1

В файле web.php config добавьте следующий код в массив компонентов:

'assetManager' => [
        'bundles' => [
            'yii\bootstrap\BootstrapPluginAsset' => [
                'js'=>[]
            ],
        ],
    ],

Чтобы быть более полным:

, чтобы отключить Css (bootstrap.css):

'assetManager' => [
    'bundles' => [
        'yii\bootstrap\BootstrapAsset' => [
            'css' => [],
        ],
    ],
],

, чтобы отключить JS (bootstrap.js):

'assetManager' => [
    'bundles' => [
        'yii\bootstrap\BootstrapPluginAsset' => [
            'js'=>[]
        ],
    ],
],

, чтобы отключить JQuery (jquery.js)

'assetManager' => [
    'bundles' => [
        'yii\web\JqueryAsset' => [
            'js'=>[]
        ],
    ],
],

Чтобы отключить всех из них:

'assetManager' => [
    'bundles' => [
        'yii\web\JqueryAsset' => [
            'js'=>[]
        ],
        'yii\bootstrap\BootstrapPluginAsset' => [
            'js'=>[]
        ],
        'yii\bootstrap\BootstrapAsset' => [
            'css' => [],
        ],

    ],
],

UPDATE

В качестве Soju, упомянутого в комментариях, другим альтернативным способом было бы отключить эти файлы в классе AppAsset, который находится в ./assets/, а затем удалить следующие строки:

public $depends = [
   'yii\web\YiiAsset',              #REMOVE
   'yii\bootstrap\BootstrapAsset',  #REMOVE
];

Ответ 2

Для тех, кто получает ошибки "Invalid Call", вы должны добавить Ali ответ на "компоненты" в переменной $config в app/config/web.php например.

'components' => [
    'assetManager' => [
        'bundles' => [
            'yii\web\JqueryAsset' => [
                'js'=>[]
            ],
            'yii\bootstrap\BootstrapPluginAsset' => [
                'js'=>[]
            ],
            'yii\bootstrap\BootstrapAsset' => [
                'css' => []
            ]
        ]
    ],
    ...
],

Ответ 3

В файле AppAsset.php добавьте это:

public function init()
{
    parent::init();
    // resetting BootstrapAsset to not load own css files
    \Yii::$app->assetManager->bundles['yii\\bootstrap\\BootstrapAsset'] = [
        'css' => [],
        'js' => []
    ];
}