Yii2高级版引入bootstrap.js的一个办法 [ 2.0 版本 ]
在frontend/assets/AppAsset.php
代码示例
namespace frontend\assets;
use yii\web\AssetBundle;
/**
* Main frontend application asset bundle.
*/
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
];
public $js = [
'js/main.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',//注意这里必须要有
'rmrevin\yii\fontawesome\AssetBundle',
];
}
在vendor/yiisoft/yii2-bootstrap/BootstrapAsset.php 文件里
namespace yii\bootstrap;
use yii\web\AssetBundle;
/**
* Asset bundle for the Twitter bootstrap css files.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @since 2.0
*/
class BootstrapAsset extends AssetBundle
{
public $sourcePath = '@bower/bootstrap/dist';
public $css = [
'css/bootstrap.css',
];
//下面是增加的代码
public $js = [
'js/bootstrap.js',
];
}
OK了
沐风待雨 shenzhen
注册时间:2015-01-07
最后登录:2018-03-03
在线时长:16小时22分
最后登录:2018-03-03
在线时长:16小时22分
- 粉丝8
- 金钱350
- 威望50
- 积分1010
共 6 条评论
此方法如果composer把资源全部更新,文件会被覆盖,所以可以在frontend/assets文件下建了个BootstrapChildAsset.php
<?php namespace frontend\assets; /** * Asset bundle for the Twitter bootstrap css files. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 2.0 */ class BootstrapChildAsset extends \yii\bootstrap\BootstrapAsset { public $js = [ 'js/bootstrap.js', ]; }
这样就好了
'rmrevin\yii\fontawesome\AssetBundle',
问下这句是什么功能?
'js/bootstrap.js',
我现在都是在AppAsset引入,一直想不通为什么不能自动引入
'rmrevin\yii\fontawesome\AssetBundle', 这句引入了css文件
<link href="/assets/ee88644/css/font-awesome.min.css" rel="stylesheet">
bootstrap.js没人默认被BootstrapAsset引入的原因很简单
下面是其源代码
namespace yii\bootstrap; use yii\web\AssetBundle; /** * Asset bundle for the Twitter bootstrap css files. * * @author Qiang Xue <qiang.xue@gmail.com> * @since 2.0 */ class BootstrapAsset extends AssetBundle { public $sourcePath = '@bower/bootstrap/dist'; public $css = [ 'css/bootstrap.css', ]; }
这里能看到代码中默认只引入css文件。O(∩_∩)O
感谢分享,解决了我的问题
my pleasure ,O(∩_∩)O
Yii2 引入bootstrap.js
没有加入版本的概念
我认为的最佳方法: AppAsset.php 文件中引用yii\bootstrap\BootstrapPluginAsset
`
use yii\bootstrap\BootstrapPluginAsset;
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'statics/css/site.css',
];
public $js = [
'statics/js/site.js',
];
public $depends = [
'yii\web\YiiAsset', 'yii\bootstrap\BootstrapAsset', BootstrapPluginAsset::class,
];
`