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日历[测试通过]
Mar 27 PHP
PHP防注入安全代码
Apr 09 PHP
php模板函数 正则实现代码
Oct 15 PHP
php接口与接口引用的深入解析
Aug 09 PHP
php实现批量压缩图片文件大小的脚本
Jul 04 PHP
PHP中的随机性 你觉得自己幸运吗?
Jan 22 PHP
10个对初学者非常有用的PHP技巧
Apr 06 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP延迟静态绑定的深入讲解
Apr 02 PHP
PHP开发实现快递查询功能详解
Apr 08 PHP
php使用自带dom扩展进行元素匹配的原理解析
May 29 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
Dec 30 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
腾讯QQ微博API接口获取微博内容
2013/10/30 PHP
主流PHP框架的优缺点对比分析
2014/12/25 PHP
php进行md5加密简单实例方法
2019/09/19 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
30个最佳jQuery Lightbox效果插件分享
2011/04/11 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
微信小程序 引用其他js文件实现代码
2017/02/22 Javascript
vue实现验证码输入框组件
2017/12/14 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
vue拖拽组件使用方法详解
2018/12/01 Javascript
JavaScript中的&quot;=、==、===&quot;区别讲解
2019/01/22 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
Jquery Fade用法详解
2020/11/06 jQuery
[03:26]回顾2015国际邀请赛中国区预选赛
2015/06/09 DOTA
transform python环境快速配置方法
2018/09/27 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
html5实现多图片预览上传及点击可拖拽控件
2018/03/15 HTML / CSS
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
印尼最大的网上书店:Gramedia.com
2018/09/13 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
中学生爱国演讲稿
2013/12/31 职场文书
教师求职信
2014/06/17 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
应届生求职信范文
2014/06/30 职场文书
自强自立美德少年事迹材料
2014/08/16 职场文书
单位租车协议书
2015/01/29 职场文书
起诉书范文
2015/05/20 职场文书
十二生肖观后感
2015/06/12 职场文书
2019同学聚会主持词
2019/05/06 职场文书
Python 实现绘制子图及子图刻度的变换等问题
2021/05/31 Python