Heim >Backend-Entwicklung >PHP-Tutorial >Methode zur Verwendung von Asset zum Komprimieren von JS- und CSS-Dateien im Beispiel von Yii2_php
Offizielle Website-Dokumente
http://www.yiiframework.com/doc-2.0/guide-structure-assets.html
Im yii-Verzeichnis ausführen
asset/template asset.php
Generieren Sie „assets.php“, eine Konfigurationsvorlage, und ändern Sie sie wie folgt
<?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', ], ];
Alle CSS- und JS-Dateien hier verwenden Yuicompressor
Dann erstellen Sie js- und css-Ordner unter web/assets und setzen die Berechtigungen auf 777
Installieren Sie die Java-Befehlszeile unter Ubuntu
sudo apt-get install default-jre
Laden Sie yuicompressor.jar herunter:
https://github.com/yui/yuicompressor/releases
Legen Sie es im yii-Stammverzeichnis ab
Ausführen
./yii asset asset.php config/assets-dev.php
Die Datei asset-dev.php wird unter config generiert
Fügen Sie
in der Komponentenkonfiguration von config/web.php hinzu'assetManager' => [ 'bundles' => require(__DIR__ . '/assets-' . YII_ENV . '.php'), ],
F5 aktualisiert die Seite und Sie können das komprimierte CSS und JS sehen
Wenn Sie kündigen möchten, kommentieren Sie einfach den entsprechenden Code in web.php aus
PS: yii2-Controller, Methodenbenennungskonvention und Zugriffsrouting
Wenn der Modulname oder Controllername oder Aktionsname im Kamelformat geschrieben ist, muss jedes Großbuchstabenwort in der Route mit „-“ verbunden werden. Wie zum Beispiel
DateTimeController::actionFastForward Die entsprechende Route ist Datum-Uhrzeit/Schnellvorlauf.
Zum Beispiel: http://dfms.com/backend/web/api-test/test-upload
api-test ist der Controllername
Test-Upload ist der Methodenname
Die oben beschriebene Methode zum Komprimieren von JS- und CSS-Dateien in Yii2 wird Ihnen hoffentlich weiterhelfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht Sie rechtzeitig. Ich möchte mich auch bei Ihnen allen für Ihre Unterstützung der Script House-Website bedanken!