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 相关文章推荐
PHP的类 功能齐全的发送邮件类
Oct 09 PHP
BBS(php &amp; mysql)完整版(二)
Oct 09 PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 PHP
php密码生成类实例
Sep 24 PHP
Linux系统下php获得系统分区信息的方法
Mar 30 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
php生成数字字母的验证码图片
Jul 14 PHP
PHP常见的6个错误提示及解决方法
Jul 07 PHP
iOS+PHP注册登录系统 PHP部分(上)
Dec 26 PHP
php unicode编码和字符串互转的方法
Aug 12 PHP
利用php操作memcache缓存的基础方法示例
Aug 02 PHP
PHP的mysqli_stmt_init()函数讲解
Jan 24 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
实用的简单PHP分页集合包括使用方法
2013/10/21 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
fsockopen pfsockopen函数被禁用,SMTP发送邮件不正常的解决方法
2015/09/20 PHP
PHP经典面试题之设计模式(经常遇到)
2015/10/15 PHP
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jquery获取文档高度和窗口高度汇总
2016/01/25 Javascript
浅谈js的html元素的父节点,子节点
2016/08/06 Javascript
微信小程序 实例开发总结
2017/04/26 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
vue中v-text / v-html使用实例代码详解
2019/04/02 Javascript
微信小程序实现拍照画布指定区域生成图片
2019/07/18 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
vue中的.$mount('#app')手动挂载操作
2020/09/02 Javascript
web.py获取上传文件名的正确方法
2014/08/26 Python
Python编程入门之Hello World的三种实现方式
2015/11/13 Python
Python每天必学之bytes字节
2016/01/28 Python
Python中的二维数组实例(list与numpy.array)
2018/04/13 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
python根据多个文件名批量查找文件
2019/08/13 Python
Python获取一个用户名的组ID过程解析
2019/09/03 Python
python文件操作的简单方法总结
2019/11/07 Python
使用Matplotlib 绘制精美的数学图形例子
2019/12/13 Python
浅谈Python 函数式编程
2020/06/20 Python
python pymysql库的常用操作
2020/10/16 Python
中国入世承诺
2014/04/01 职场文书
党员创先争优心得体会
2014/09/11 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
村当支部个人对照检查材料思想汇报
2014/10/06 职场文书
查摆问题整改措施
2014/10/24 职场文书
小学教师先进事迹材料
2014/12/15 职场文书
讲座新闻稿
2015/07/18 职场文书
WordPress多语言翻译插件 - WPML使用教程
2021/04/01 PHP
Python max函数中key的用法及原理解析
2021/06/26 Python
MySQL七大JOIN的具体使用
2022/02/28 MySQL
GTX1660显卡搭配显示器推荐
2022/04/19 数码科技