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'];
}