官網文件
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文件的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對腳本之家網站的支持!