我们如何在yii2前端应用程序中添加缩小功能?

时间:2016-06-28 04:49:28

标签: php yii2 yii2-advanced-app

如何为css和js文件添加minfication或者我可以添加minify它们并添加到单个文件中。我已经为完整应用程序添加了一些css和js文件而其他页面是明智的吗?

2 个答案:

答案 0 :(得分:0)

AssetBundle 表示资产文件的集合,例如CSS,JS等。

资产包可以依赖于其他资产包。使用视图注册资产包时,其所有相关资产包将自动注册。

请参阅以下链接

Yii2 AssetBundle API DOC

AssetBundle Example

Yii2基本应用程序

Yii2 Basic Application Asset Bundle Example

Yii2高级应用

首先在 frontend-> assets-> AppAsset.php 中创建一个AppAsset AssetBundule。

<?php

    namespace frontend\assets;
    use yii\web\AssetBundle;

    class AppAsset extends AssetBundle
    {
        public $basePath = '@webroot';
        public $baseUrl = '@web';
        public $css = [
             ....
             css file here
             ....
        ];
        public $js = [      
             .... 
             js file here
             .... 
        ];
        public $jsOptions = [
             ....
             js options here
             ....
        ];
        public $depends = [
             ....
             dependent asset bundles here
             eg: 'yii\bootstrap\BootstrapAsset'
             ....
        ];
    }
?>

现在在视图文件

中注册AppAsset
<?php
   use frontend\assets\AppAsset;
   AppAsset::register($this);
?>

并注册单个js和css文件

Single Js ans Css File Register

答案 1 :(得分:0)

您可以使用https://github.com/skeeks-semenov/yii2-assets-auto-compress

配置简单快捷。安装后,您只需要更新配置文件。

'components' => [
        'assetsAutoCompress' => [
            'class' => '\skeeks\yii2\assetsAuto\AssetsAutoCompressComponent',
        ],

然后引导它。

'bootstrap' => ['log', 'assetsAutoCompress'],

那就是你准备好了。