Yii2中使用asset压缩js,css文件的方法

5年以前  |  阅读数:309 次  |  编程语言:PHP 

官网文档

http://www.yiiframework.com/doc-2.0/guide-structure-assets.html

yii目录下运行

asset/template assets.php

生成assets.php,这是一个配置模板,并修改如下


    <?php
    /**
    * Configuration file for the "yii asset" console command.
    */
    // In the console environment, some path aliases may not exist. Please define these:
    Yii::setAlias('@webroot', __DIR__ . '/web');
    Yii::setAlias('@web', '/');
    return [
    // Adjust command/callback for JavaScript files compressing:
    // 'jsCompressor' => 'java -jar compiler.jar --js {from} --js_output_file {to}',
    'jsCompressor' => 'java -jar yuicompressor.jar --type js {from} -o {to}',
    // Adjust command/callback for CSS files compressing:
    'cssCompressor' => 'java -jar yuicompressor.jar --type css {from} -o {to}',
    // The list of asset bundles to compress:
    'bundles' => [
    'app\assets\AppAsset',
    'yii\web\YiiAsset',
    'yii\web\JqueryAsset',
    ],
    // Asset bundle for compression output:
    'targets' => [
    'all' => [
    'class' => 'yii\web\AssetBundle',
    'basePath' => '@webroot/assets',
    'baseUrl' => '@web/assets',
    'js' => 'js/all-{hash}.js',
    'css' => 'css/all-{hash}.css',
    ],
    ],
    // Asset manager configuration:
    'assetManager' => [
    'basePath' => '@webroot/assets',
    'baseUrl' => '@web/assets',
    ],
    ];

这里css和js全部用yuicompressor了

然后在web/assets下创建js,css文件夹,并设置权限777

安装java命令行,ubuntu下

sudo apt-get install default-jre

下载yuicompressor.jar:

https://github.com/yui/yuicompressor/releases

放到yii根目录下

运行

./yii asset assets.php config/assets-dev.php

在config下会生成assets-dev.php文件

在config/web.php的component配置中添加


    'assetManager' => [
    'bundles' => require(__DIR__ . '/assets-' . YII_ENV . '.php'),
    ],

F5刷新页面就可以看到使用了压缩后的css和js了

如果要取消,注释掉web.php中对应代码即可

PS:yii2 控制器、方法命名规范和访问路由

如果模块名称或者控制器名称或者动作名称是用的骆驼格式的命名写法,那么路由里面的每个大写单词之间都要用"-"来连接。如

DateTimeController::actionFastForward 相应的路由为 date-time/fast-forward。

例如:http://dfms.com/backend/web/api-test/test-upload

api-test是控制器名字

test-upload是方法名字

以上所述是小编给大家介绍的Yii2中使用asset压缩js,css文件的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例