官网文档
yii目录下运行
asset/template assets.php
生成assets.php,这是一个配置模板,并修改如下
'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',];
这里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/web.PHP的component配置中添加
[
'bundles' => require(__DIR__ . '/assets-' . YII_ENV . '.PHP'),
F5刷新页面就可以看到使用了压缩后的css和js了
PS:yii2 控制器、方法命名规范和访问路由
如果模块名称或者控制器名称或者动作名称是用的骆驼格式的命名写法,那么路由里面的每个大写单词之间都要用“-”来连接。如
DateTimeController::actionFastForward 相应的路由为 date-time/fast-forward。
api-test是控制器名字
test-upload是方法名字
以上所述是小编给大家介绍的Yii2中使用asset压缩js,css文件的方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。