Yii 2 JS资产缩小问题

时间:2015-10-07 14:19:18

标签: php yii2 bundle assets minify

我最近安装了Yii 2.0.6,我注意到它加载了

yii.js
yii.validation.js
yii.activeForm.js

来自 yiisoft / yii2 / assets 文件夹,所以我想覆盖这些文件,并在 common / config / main.php 中添加了这些代码行,但它是什么呢是的,它只替换yii.js文件,但yii.validation.js和yii.activeForm.js一直在加载。

'assetManager' => [
            'forceCopy' => YII_DEBUG,
            'bundles' => [
                'yii\web\YiiAsset' => [
                        'js' => ['all.min.js'],
                ],
            ],
        ],

如何将所有这些文件替换为一个?

2 个答案:

答案 0 :(得分:3)

您还应该停用ActiveFormAssetValidationAsset

'bundles' => [
    'yii\web\YiiAsset' => [
        'js' => ['all.min.js'],
    ],
    'yii\widgets\ActiveFormAsset' => false,
    'yii\validators\ValidationAsset' => false,
],

了解详情:Customizing asset bundlesCombining & compressing assets

答案 1 :(得分:1)

来自docs

  
      
  1. 查找您计划的应用程序中的所有资产包   结合并压缩。
  2.   
  3. 将这些捆绑包分成一个或几个组。请注意每个包   只能属于一个组。
  4.   
  5. 将每个组中的CSS文件合并/压缩到一个文件中。做   这与JavaScript文件类似。
  6.   
  7. 为每个组定义新的资产包:

         
        
    • 将css和js属性分别设置为组合的CSS和JavaScript文件。

    •   
    • 通过将css和js属性设置为空来自定义每个组中的资产包,并将其depends属性设置为   为该组创建的新资产包。

    •   
  8.   

因此,您需要使用工具来压缩文件,然后将每个文件注入其足够的包中:

{{1}}

有关详细信息,请参阅official docs