Yii2中使用asset壓縮js,css檔案的方法

NO IMAGE

官網文件

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

您可能感興趣的文章:

yii2簡單使用less代替css示例Yii安裝EClientScript外掛擴充套件實現css,js檔案程式碼壓縮合並載入功能yii2 頁面底部載入css和js的技巧Yii2 載入css、js 載靜態資源的方法