javascript - update - Yii2 BootstrapAsset no está cargando bootstrap.js
yii2 bootstrap 4 (5)
yii/bootstrap/BootstrapAsset
no carga bootstrap.js
, y elementos como "modal" y otros no funcionan.
class AppAsset extends AssetBundle {
public $basePath = ''@webroot'';
public $baseUrl = ''@web'';
public $css = [
/* theme */
''css/site.css'',
/* jasny bootstrap */
''public/jasny/css/jasny-bootstrap.min.css'',
/* font awesome */
''public/font-awesome-430/css/font-awesome.min.css'',
/* font roboto */
''public/fonts/roboto/roboto.css'',
/* Data Tables */
''public/datatables/extensions/integration/bootstrap/3/dataTables.bootstrap.css'',
];
public $js = [
/* jasny bootstrap */
''public/jasny/js/jasny-bootstrap.min.js'',
/* Data Tables */
''public/datatables/datajs.js'',
''public/datatables/media/js/jquery.dataTables.min.js'',
''public/datatables/extensions/integration/bootstrap/3/dataTables.bootstrap.js'',
];
public $depends = [
''yii/web/YiiAsset'',
''yii/bootstrap/BootstrapAsset'',
];
}
Here hay una pantalla de bibliotecas, bootstrap.js
falta allí.
Puede hacer esto en el archivo de configuración principal ( config/web.php
):
''components'' => [
''assetManager'' => [
''bundles'' => [
''yii/bootstrap/BootstrapAsset'' => [
''js'' => [''js/bootstrap.js''],
],
],
],
],
Puedes probar esto en AppAsset.php
class AppAsset extends AssetBundle{
public $basePath = ''@webroot'';
public $baseUrl = ''@web'';
public $css = [
''css/mystyle.css'',
];
public $js = [
];
public $depends = [
''yii/web/YiiAsset'',
''yii/bootstrap/BootstrapPluginAsset'',
];
}
y también cambia en tu config / main.php
''components'' => [
''assetManager'' => [
''bundles'' => [
''yii/bootstrap/BootstrapAsset'' => [
''js'' => [''js/bootstrap.min.js''],
],
],
],
],
He intentado estos pasos que resolverán mi problema eso es todo para su comentario
Puedes probarlo:
class AppAsset extends AssetBundle{
public $basePath = ''@webroot'';
public $baseUrl = ''@web'';
public $css = [
''css/mystyle.css'',
];
public $js = [
];
public $depends = [
''yii/web/YiiAsset'',
''yii/bootstrap/BootstrapPluginAsset'',
];
}
Si observa el contenido del paquete BootstrapAsset
, verá que no hay bootstrap.js
:
class BootstrapAsset extends AssetBundle
{
public $sourcePath = ''@bower/bootstrap/dist'';
public $css = [
''css/bootstrap.css'',
];
}
Para bootstrap.js
existe otro paquete de activos y se llama BootstrapPluginAsset
:
class BootstrapPluginAsset extends AssetBundle
{
public $sourcePath = ''@bower/bootstrap/dist'';
public $js = [
''js/bootstrap.js'',
];
public $depends = [
''yii/web/JqueryAsset'',
''yii/bootstrap/BootstrapAsset'',
];
}
El nombre de clase completo con espacio de nombre es: yii/bootstrap/BootstrapPluginAsset
.
Se incluye automáticamente cuando utiliza widgets bootstrap dependientes de js como yii/bootstrap/Modal
, etc.
cuando agrega dependencia
public $depends = [
''yii/bootstrap/BootstrapAsset'',
];
es solo agregar bootstrap css
mientras agregas
public $depends = [
''yii/bootstrap/BootstrapPluginAsset'',
];
su agregar bootstrap css, así como js