【发布时间】:2016-08-11 14:51:06
【问题描述】:
我放弃了 Yii2 捆绑的 jQuery 和 Bootstrap 资产,以换取我使用 npm/browserify 捆绑自己的资产所以第一步是通过配置从 yii\web\YiiAsset 中删除 jQuery 和 Bootstrap:
'components' => [
'assetManager' => [
'bundles' => [
'yii\web\JqueryAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapPluginAsset' => [
'js'=>[]
],
'yii\bootstrap\BootstrapAsset' => [
'css' => [],
],
],
],
...
]
很明显,我想将它放在页脚中,但它需要在任何其他资产之前加载,以便它们可以使用 jQuery。
这是我的 AssetBundle:
class AppAssets extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $depends = [
'app\assets\CustomAssets',
'yii\web\YiiAsset',
];
}
我的 CustomAssets 包(包含我自己的 JS 和 CSS)首先在 depends 中声明,我认为这会工作,但我在页面上也有一个 ActiveForm,它注册了 @ 987654321@,它依赖于各种 Yii 资产。这是我嵌入该表单的地方:
<?php $form = ActiveForm::begin(['id' => 'contact-form']); ?>
...
<?php ActiveForm::end(); ?>
有没有一种方法可以覆盖ActiveFormAsset 上的depends,使其也取决于我的脚本?
【问题讨论】:
标签: yii2