Wie man (mit Grunt) nur geänderte Jade-Dateien mit Template-Includes bedingt kompiliert

8

Verwenden einer Version von dem, was grunt-contrib-watch zum Kompilieren nur geänderter Dateien hier empfiehlt: Ссылка

%Vor%

Das funktioniert gut (wieder mit einer Variation, die ich dafür geschrieben habe: Ссылка )

Das Problem liegt vor, wenn include in Jade-Vorlagen verwendet wird. Das bedeutet, dass Sie andere Jade-Vorlagen einschließen, um die vollständige HTML-Datei zu erstellen.

Die Verwendung der singulären Lösung für die Kompilierung funktioniert nicht, wenn eine .jade -Datei, an der Sie gerade arbeiten, mit include current_working_jade.jade eingebettet wird - die einschließende Datei wird nicht erneut kompiliert.

Gibt es Workarounds für dieses neben Kompilieren aller jade -Dateien von Grund auf neu? Dies verursacht ein Problem, wenn Sie etwa 60 große Jade-Dateien haben, die jedes Mal kompiliert werden.

Die einzige mögliche Lösung, die ich mir vorstellen kann, ist entweder die Zuordnung von Jade-Templates-Abhängigkeiten entweder extern oder mit Verzeichnissen, aber ich kenne keine Werkzeuge / Plugins, die das tun ...

    
Gilad Peleg 14.11.2013, 14:56
quelle

2 Antworten

4

Nachdem ich bereits mit der Arbeit an einem Gerüst begonnen habe, das eine Art Jade sourcemap erzeugt, habe ich dieses großartige Projekt gefunden, das dieses Problem bereits löst:

Jade-Erbschaft

Verwendung ist wie folgt:

  1. Paket installieren mit: npm install jade-inheritance --save-dev
  2. Wo Sie eine Liste der abhängigen Dateien von einer Jade erhalten möchten:

    var JadeInheritance = require('jade-inheritance');

    var inheritance = new JadeInheritance(file, basedirname, {basedir:basedirname});

  3. Wenn Sie die Datei herunterladen möchten:

    depenedentFiles = inheritance.files;

  4. Das Projekt zeigt auch, wie man das Konzept mit grunt.watch anwendet, um nur die geänderten jade Dateien mit ihren Abhängigkeiten zu kompilieren, genau was ich brauchte:

Verwenden der Jade-Vererbung mit grunt watch

    
Gilad Peleg 14.12.2013, 15:09
quelle
1

Ich stelle mir so etwas vor wie das Überprüfen aller Jade-Dateien, und wenn sie die geänderte Datei enthalten, dann kompiliere sie auch neu. Sollte nicht zu schwer sein. Pseudocode:

%Vor%

Fügen Sie diese Dateien jetzt der Kompilieraufgabe hinzu.

    
Martin Hansen 13.12.2013 19:13
quelle