Heim  >  Artikel  >  Backend-Entwicklung  >  Open-Source-Work-JS- und CSS-Dateikomprimierungstool, geschrieben in PHP-SuMinify_PHP_1_5

Open-Source-Work-JS- und CSS-Dateikomprimierungstool, geschrieben in PHP-SuMinify_PHP_1_5

WBOY
WBOYOriginal
2016-08-08 09:22:291248Durchsuche

Vorwort:

Website-Projekte müssen auf externe Dateien verweisen, um den Ladeverkehr zu reduzieren. Nach dem ersten Laden externer Ressourcendateien können Sie diese verwenden, wenn andere Seiten mit demselben Domainnamen auf dieselbe Adresse verweisen Der Browser-Cache ermöglicht das direkte Lesen lokal zwischengespeicherter Ressourcendateien, ohne dass für jede Seite dieselben externen Ressourcendateien heruntergeladen werden müssen. Einige der externen Ressourcendateien sind Plug-Ins von Drittanbietern, andere sind von mir selbst geschriebene Geschäftsfunktionsskripte. Wenn Projekte auf diese externen Dateien verweisen, müssen sie die unkomprimierten Plug-Ins von Drittanbietern komprimieren Eigene Geschäftsfunktionsskripte sind in Form eines Plug-Ins erforderlich, um auf mehrere Skriptdateien gleichzeitig zu verweisen. Daher müssen diese Skriptdateien in einer komprimierten Datei zusammengeführt und dann referenziert werden von HTTP-Anfragen und reduzieren den Ladeverkehr dieser externen Ressourcendateien.
Um diese Ziele zu erreichen, waren meine ursprünglichen Schritte: „Erstellen Sie eine neue .min.xxx-Datei im Zielpfad.“ Öffnen Sie eine Website, die Online-JS/CSS-Komprimierungsdienste bereitstellt, kopieren Sie den Quellcode für die Online-Komprimierung hinein, Kopieren Sie es dann und fügen Sie es in die Datei min.xxx ein. Wenn Sie Dateien zusammenführen müssen, kopieren Sie die Quellcodes mehrerer Dateien, komprimieren Sie sie und fügen Sie sie in dieselbe Datei .min.xxx ein. Mit fortschreitendem Projekt gibt es jedoch immer mehr Funktionen und es müssen immer mehr Dateien referenziert werden. Jedes Mal, wenn eine externe Quelldatei geändert wird, ist ein großer Aufwand erforderlich, um die .min.xxx-Datei zu aktualisieren, insbesondere die Quelldatei sind in verschiedenen Verzeichnissen verteilt und es ist ziemlich mühsam, diese Verzeichnisse zu finden. Deshalb kam ich auf die Idee, ein kleines Programm zur automatischen Komprimierung und Zusammenführung zu erstellen. Solange ich dieses Programm ausführe, kann es mir dabei helfen, diese mühsamen, sich wiederholenden Aufgaben zu erledigen.

Einführung:
SuMinify_PHP ist eine grüne Einzeldateiversion des PHP-Programms, das zum Komprimieren oder Zusammenführen von JS-Dateien oder CSS-Dateien in Website-Projekten verwendet wird. Es kann wie phpinfo.php problemlos in Projekten verwendet werden.
Bei der Entwicklung von Website-Projekten werden JS-Dateien häufig in verschiedenen Verzeichnissen verteilt, z. B. Plug-Ins von Drittanbietern, selbst geschriebene Plug-Ins usw. Im Allgemeinen werden mehrere Javascript-Plug-Ins komprimiert und zusammengeführt eine Datei als Projektreferenz, um die Anzahl der http-Anfragen zu reduzieren.
Wenn Sie es manuell bedienen, müssen Sie bei jeder Änderung des Plug-Ins viel Aufwand für die Komprimierung und Zusammenführung von Dateien aufwenden. Mit diesem automatisierten Programm können Sie die externen Ressourcendateien im Projekt automatisiert schreiben Konfiguration gemäß den Regeln und dann jedes Mal Führen Sie nach dem Ändern der Datei einfach das SuMinify-Programm aus. Es hilft Ihnen dabei, die Dateien gemäß den Regeln zu komprimieren oder in das angegebene Verzeichnis zusammenzuführen, wodurch mühsame körperliche Arbeit entfällt und die Arbeitseffizienz verbessert wird ~

Funktionen:
1, grüne Einzeldateiversion, keine externen Abhängigkeiten, einfach bereitzustellen und zu verwenden
2. Unterstützt den schnellen Wechsel mehrerer Projekte
3. Schreiben Sie die Konfigurationsdatei gemäß den Regeln, und kann den Quellcode automatisch aus dem Quellcodepfad lesen und entsprechend der Konfigurationsdatei komprimieren und in die angegebene .min-komprimierte Datei ausgeben
4 Die Regelkonfigurationsdatei des Projekts kann in einem beliebigen Pfad abgelegt werden
5. Führen Sie den Inhalt mehrerer Dateien in verschiedenen Verzeichnissen in einer Datei zusammen
6. Führen Sie eine direkte Stapelkomprimierung des gesamten Verzeichnisses durch, solange Sie den Verzeichnispfad angeben. Sie können die Dateien im Verzeichnis automatisch durchsuchen und komprimierte Dateien im Format jedes Dateinamens mit einem .min-Suffix generieren.
7 Nachdem Sie die Ressourcendateien des gesamten Verzeichnisses komprimiert haben, führen Sie sie zu einer .min-Datei zusammen angegebener Pfad
8. Wenn das gesamte Verzeichnis stapelweise komprimiert wird, wird die .min-Datei automatisch ignoriert, um eine wiederholte Komprimierung zu verhindern

Verwendung:
1 Kopieren Sie die Datei SuMinify_PHP_1_5 in ein beliebiges Verzeichnis in Ihrem Projekt (diese Datei ist eine grüne Einzeldateiversion, einfach zu verwenden^_^).
2. Ändern Sie den Konfigurationsinhalt entsprechend Ihren Anforderungen.
3. Führen Sie diese Datei aus. Du kannst deine Ergebnisse ansehen und verwenden~

Hilfe:

<span>$config</span> = <span>array</span><span>(
    </span><span>//</span><span> soui_v3a项目</span>    'soui_v3a' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\soui_v3a_config.php',
    <span>//</span><span> soui_v3b项目</span>    'soui_v3b' => <span>array</span><span>(
        </span>'js' => <span>array</span><span>(
            </span>'in-place-minify' => <span>array</span>(<span>//</span><span> 就地压缩js</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\superfish\superfish.js', <span>//</span><span> 就地生成superfish.min.js文件</span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*', 'skips' => <span>array</span>('F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\skip-me1.js', 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\skip-me2.js')), <span>//</span><span> 整个目录就地压缩,跳过其中2个文件的压缩</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\jquery.easyui.min.js' => <span>array</span><span>(
                </span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\jquery.easyui.min.js', 'minify' => <span>false</span>), <span>//</span><span> 不用压缩,直接合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\easyui\locale\easyui-lang-zh_CN.js', <span>//</span><span> 压缩后合并</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\min\pages.min.js' => <span>array</span><span>(
                </span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\Pages\*'), <span>//</span><span> 将目录中所有文件压缩后合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Javascript\js-prototype-extension.js', <span>//</span><span> 压缩后合并</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Plugin\jquery-audioplayer-1.0\jquery-audioPlayer-1.0.js', <span>//</span><span> 压缩后合并</span><span>            )
        )</span>,
        'css' => <span>array</span><span>(
            </span>'in-place-minify' => <span>array</span>(<span>//</span><span> 就地压缩css</span>                'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\Pages\*', <span>//</span><span> 整个目录就地压缩</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.min.css' => <span>array</span><span>(
                </span>'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\Default\easyui.css', <span>//</span><span> 压缩后合并</span><span>array</span>('path' => 'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\jeasyui\icon.css', 'replaces' => <span>array</span>("'icons/" => "'../Icons/")), <span>//</span><span> 压缩后替换内容,然后合并</span>            ),
            'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.min.css' => <span>array</span><span>(
                </span>'F:\OpenOpus\SuMinify_PHP_1_5\Example\Resfile\Css\superfish\superfish.css', <span>//</span><span> 就地压缩</span>            ),<span>        )
    )</span>,<span>);</span>

Laufergebnisse Bild:

Homepage: http://git.oschina.net/sutroon/SuMinify_PHP_1_5

Quellcode: https://git.oschina.net/sutroon/SuMinify_PHP_1_5.git

Das Obige hat das Open-Source-Werk SuMinify_PHP_1_5 vorgestellt, ein in PHP geschriebenes JS- und CSS-Dateikomprimierungstool, einschließlich der relevanten Inhalte. Ich hoffe, es wird Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn