Yii2 向 AssetBundle 添加条件
Yii2 add conditions to AssetBundle
我想创建这个结果:
<!-- Placeholder for IE9 -->
<!--[if IE 9 ]>
<script src="vendors/bower_components/jquery-placeholder/jquery.placeholder.min.js"></script>
<![endif]-->
我有这个 AppAsset 捆绑包
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web/frontend/assets';
public $css = [
'css/site.css',
];
public $js = [
'functions.js',
'jquery.placeholder.min.js',
'line-chart.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
我希望只有 jquery.placeholder.min.js 有这些 jsOption,我尝试添加 jsOptions 属性但没有成功。
public $jsOptions = [
['condition' => 'IE 9']
];
有办法让它工作吗?或者我可能只需要为这些文件创建一个新的 Bundle?
我在官方文档中没有看到更多关于此的信息:http://www.yiiframework.com/doc-2.0/guide-structure-assets.html
从基本包中删除您的 js
public $js = [
'functions.js',
//'jquery.placeholder.min.js',
'line-chart.js',
]
在您的依赖项中添加一个包
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yourapp\assets\myAsset',
];
创建您的资产
<?php
namespace yourapp\assets;
use yii\web\AssetBundle;
class myAsset extends AssetBundle
{
public $js = [
'jquery.placeholder.min.js',
];
public $jsOptions = ['condition' => 'IE 9'];
}
我想创建这个结果:
<!-- Placeholder for IE9 -->
<!--[if IE 9 ]>
<script src="vendors/bower_components/jquery-placeholder/jquery.placeholder.min.js"></script>
<![endif]-->
我有这个 AppAsset 捆绑包
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web/frontend/assets';
public $css = [
'css/site.css',
];
public $js = [
'functions.js',
'jquery.placeholder.min.js',
'line-chart.js',
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
我希望只有 jquery.placeholder.min.js 有这些 jsOption,我尝试添加 jsOptions 属性但没有成功。
public $jsOptions = [
['condition' => 'IE 9']
];
有办法让它工作吗?或者我可能只需要为这些文件创建一个新的 Bundle?
我在官方文档中没有看到更多关于此的信息:http://www.yiiframework.com/doc-2.0/guide-structure-assets.html
从基本包中删除您的 js
public $js = [
'functions.js',
//'jquery.placeholder.min.js',
'line-chart.js',
]
在您的依赖项中添加一个包
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
'yourapp\assets\myAsset',
];
创建您的资产
<?php
namespace yourapp\assets;
use yii\web\AssetBundle;
class myAsset extends AssetBundle
{
public $js = [
'jquery.placeholder.min.js',
];
public $jsOptions = ['condition' => 'IE 9'];
}