2016-04-07 4 views
2

Ich habe mehrere ExtJS-Apps basierend auf einem benutzerdefinierten Thema sagen "my-ux-theme" (Erweiterung von "ext-theme-crisp").ExtJS Theme Zentralisierung

Ich habe Bündel von .SCSS-Dateien in jeder der Anwendungen wiederholt. Jedes Mal, wenn ich das Thema ändere, muss ich Änderungen an den einzelnen SCSS-Dateien in den Apps vornehmen.

Ich möchte mein Thema zentralisieren

Ich plane „my-ux-Thema“ der KitchenSink Anwendung zu befestigen und dann baue ich die gesamte KitchenSink, die die CSS-Dateien erzeugt ich brauche. Ich stelle dieses CSS dann auf meinem CDN bereit und verknüpfe alle meine Apps mit diesem Thema (CSS-Dateien). Ist das ein guter Ansatz?

Ist das eine sichere Annahme, dass KitchenSink eine große App ist, die alle Komponenten in ExtJS abdeckt und all das CSS erzeugt, das ich jemals brauchen würde?

Können Sie alle bitte vorschlagen?

Die grundlegende Frage ist, wenn wir Sencha Command auf einer ExtJS-Anwendung (Sencha App Build) dann die generierten CSS-Dateien durch das Thema nur diejenigen Komponenten, die in der Anwendung verwendet/vorhanden sind? Oder ist es egal?

+2

Haben Sie versucht, Pakete zu verwenden? – JChap

+0

Ich stimme zu, das ist ein Weg zu gehen. Was ist, wenn ich kein Paket (Theme-Paket) für jede meiner Apps erstellen möchte? –

+2

Sie können ein Paket außerhalb erstellen und dieses in den lokalen Repo-Modus stellen, auf den alle Ihre Anwendungen zugreifen können. Auf diese Weise müssen Sie nicht in allen Ihren Anwendungen Änderungen vornehmen. – JChap

Antwort

3

Mit Kitchen Sink fühle mich nicht richtig, Hier ist, was Sie tun können.

  • erstellen Sencha Work Space
  • erstellen Theme-Paket
  • das Theme Paket Build "Sencha Paket build"
  • Verwendung Es wird für Ihr Thema in build/resource/Thema eine einzige CSS-Datei generiert -name-all.css

Hier sind Befehle für sie

sencha -sdk {path/to/Ext-JS-5-SDK} generate workspace my-workspace 
sencha generate package -type theme my-custom-theme 
sencha package build 
+0

eine Sache - Sie oben erwähnt "Sencha nur Picks SCSS-Dateien für die Komponenten, die in der Anwendung verwendet werden" - In diesem neu erstellten Arbeitsbereich habe ich keine Komponenten in der Anwendung verwendet (Ich habe kein Ereignis zu einer Anwendung genau sein) Ist also garantiert, dass das generierte CSS gut für alle meine Apps ist? –

+1

Für das Thema werden alle SCSS-Dateien ausgewählt, aber für eine Anwendung werden nur die SCS-Dateien für die verwendeten Komponenten ausgewählt. – JChap

+0

Kühl. Vielen Dank :) –