Yii2中使用asset压缩js,css文件的方法
程序员文章站
2024-04-01 23:11:34
官网文档
yii目录下运行
asset/template assets.php
生成assets.php,这是一个配置模板,并修改如下
...
官网文档
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:
放到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。
例如:
api-test是控制器名字
test-upload是方法名字
以上所述是小编给大家介绍的yii2中使用asset压缩js,css文件的方法,希望对大家有所帮助