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


Posted in PHP onNovember 24, 2016

官网文档

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 相关文章推荐
一个多文件上传的例子(原创)
Oct 09 PHP
php批量删除数据
Jan 18 PHP
php5 non-thread-safe和thread-safe这两个版本的区别分析
Mar 13 PHP
PHP统计目录大小的自定义函数分享
Nov 18 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
PHP解压tar.gz格式文件的方法
Feb 14 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
May 16 PHP
PHP快速推送微信模板消息
Apr 14 PHP
PHP让网站移动访问更加友好方法
Feb 14 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 PHP
PHP的HTTP客户端Guzzle简单使用方法分析
Oct 30 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 PHP
微信自定义分享php代码分析
Nov 24 #PHP
php插入含有特殊符号数据的处理方法
Nov 24 #PHP
PHP合并数组的2种方法小结
Nov 24 #PHP
PHP magento后台无法登录问题解决方法
Nov 24 #PHP
微信 开发生成带参数的二维码的实例
Nov 23 #PHP
微信 getAccessToken方法详解及实例
Nov 23 #PHP
Yii核心验证器api详解
Nov 23 #PHP
You might like
PHP实现格式化文件数据大小显示的方法
2015/01/03 PHP
学习thinkphp5.0验证类使用方法
2017/11/16 PHP
ext实现完整的登录代码
2008/08/08 Javascript
jquery垂直公告滚动实现代码
2013/12/08 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
2015/11/24 Javascript
在React中如何优雅的处理事件响应详解
2017/07/24 Javascript
Vue项目安装插件并保存
2019/01/28 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
微信小程序实现的一键复制功能示例
2019/04/24 Javascript
vue动态循环出的多个select出现过的变为disabled(实例代码)
2019/11/10 Javascript
vue中使用v-for时为什么不能用index作为key
2020/04/04 Javascript
python决策树之C4.5算法详解
2017/12/20 Python
python负载均衡的简单实现方法
2018/02/04 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
Python利用matplotlib绘制折线图的新手教程
2020/11/05 Python
Python导入父文件夹中模块并读取当前文件夹内的资源
2020/11/19 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
英国二手物品交易网站:Preloved
2017/10/06 全球购物
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
北美女性服装零售连锁店:maurices
2019/06/12 全球购物
巴西Bo.Bô官方在线商店:经营奢侈品时尚业务
2020/03/16 全球购物
就业推荐自我鉴定
2013/10/06 职场文书
法律工作求职自荐信
2013/10/31 职场文书
演讲比赛策划方案
2014/06/11 职场文书
兽医医药专业求职信
2014/07/27 职场文书
安全责任书范文
2014/08/25 职场文书
组织生活会表态发言材料
2014/10/17 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
主持稿开场白
2015/06/01 职场文书
CSS3实现模糊背景的三种效果示例
2021/03/30 HTML / CSS
Zabbix对Kafka topic积压数据监控的解决方案
2022/07/07 Servers