Wie komprimiere ich tinymce und alle Plugins in eine statische Datei?

8

Die Dokumentation für ynymce merkt an, dass man alle Javascript und Komponenten komprimieren kann (von denen ich vermute, dass sie Plugins beinhalten) in eine einzige Datei. Sie notieren Gründe, warum man das auch nicht möchte.

  

Komprimieren in eine statische Datei

     

Es ist auch möglich, einfach die notwendigen Komponenten und einige Boilerplate-Codes in einer einzigen .js-Datei zu verketten. Sie müssen diese Datei jedoch immer neu erstellen, wenn Sie andere TinyMCE-Plugins verwenden möchten, oder Sie aktualisieren TinyMCE. Wahrscheinlich möchten Sie Ihren Webserver auch so konfigurieren, dass er Javascript-Dateien komprimiert.

Aber angenommen, man wollte es tatsächlich tun, wie geht man eigentlich vor? Build.xml bietet keine geeignete Aufgabe. Zumindest als ich es versuchte, die Plugins schien nicht enthalten sein, wenn ich tiny_mce.js geladen.

    
Atlas1j 22.10.2011, 16:43
quelle

2 Antworten

2

Es gibt einige sehr gute Kommandozeilen-Tools dafür, aber Sie können dies auch einfach mit einem Texteditor tun. Der einfachste Weg ist, jede Datei einfach zu öffnen, den Inhalt zu kopieren und den Inhalt in eine einzige JS-Datei ("everything-all-together.js", sagen wir) einzufügen. Sie müssen sicherstellen, dass Sie die Dateien in der gleichen Reihenfolge in die Datei einfügen, in der Sie die Skript-Tags in das HTML-Dokument eingefügt hätten. Sobald Sie alle Dateien zusammen haben, können Sie Tools wie JSXMin, YUI Compressor oder Google Closure verwenden. Es gibt auch einige Tools online, die dies tun, wie Ссылка . Sie können das unkomprimierte JS einfügen und das komprimierte JS erneut kopieren. Dies macht den Build-Prozess wirklich umständlich, aber wenn Sie dies nur einmal tun müssen, werden Sie dorthin gelangen.

Dies ist am besten als Build-Schritt für die Site auszuführen. Das bedeutet, wenn Sie Änderungen an den JS-Dateien vornehmen, erstellen Sie die komprimierte JS-Datei neu, um auch die Änderungen einzubeziehen. Dies kann ein mühsamer Schritt sein, wenn Sie schnell iterieren und Dateien immer wieder ändern. Sie möchten die komprimierte Datei nicht bei jedem Speichern neu erstellen müssen. Sie können dies lösen, indem Sie die Entwicklungs- und Produktionsmodi der Site einrichten. Beim Laden in den Entwicklungsmodus werden die JS-Dateien nicht gruppiert. Wenn alle erforderlichen Änderungen vorgenommen wurden, führen Sie den Build-Schritt erneut aus, um die einzelne komprimierte JS-Datei zu generieren. Um die Minimierung über die Befehlszeile durchzuführen, möchten Sie wahrscheinlich Google Closure verwenden: Ссылка . Wenn Sie die Compiler-App herunterladen, können Sie Folgendes tun:

  

java -jar compiler.jar einige-Datei.js einige andere-Datei.js & gt; compiled.js

Dadurch wird eine Datei namens compiled.js generiert, die den Inhalt von some-file.js und some-other-file.js in einem verkleinerten Format enthält. Sie können so viele Dateien angeben, wie Sie benötigen. Eigentlich verkaufe ich Closure ein bisschen kurz, um zu sagen, dass es nur minimiert ist. Es ist auch extrem optimierter Code. So ziemlich jede Seite sollte dies alles von dort aus tun, solange sie nicht schon etwas Besseres machen.

    
Jackson Gabbard 07.05.2012 04:28
quelle
0

Ich hoffe, dass ich Sie (und die tinymce docs) richtig verstanden habe, aber das klingt sehr nach einer Kombination von JavaScript-Dateien auf der Serverseite. Das bedeutet, dass Sie den Inhalt all Ihrer JS-Dateien in eine Datei kopieren und an den Client zurückgeben müssen.

Warum würdest du das tun? Nun, das sollte offensichtlich sein, aber ... Sie reduzieren die Anzahl der HTTP-Anfragen auf Ihren Server, was immer eine gute Sache ist.

Wie machst du das? Es gibt viele Lösungen für alle serverseitigen Sprachen und Frameworks. Ich empfehle eine Google-Suche nach "[your language] javascript minifier" oder etwas Ähnlichem.

Hoffe, das hilft.

    
Rudolph Gottesheim 24.01.2012 21:14
quelle

Tags und Links