2013-01-09 2 views
15

Ich habe mit Yeoman & Jade spielen gespielt. Ich habe einen kleinen Test-App über yeoman init angular erstellt (es ist ein Winkel App, aber das ist nicht der Punkt hier) ...Integrieren von Jade in Yeoman Server/Watch/Reload Aufgaben

Als ich yeoman server in der Befehlszeile eingeben, wird sie:

  • kompiliere coffeescript & compass Dateien
  • einen Server
  • starten einen Browser starten
  • Uhr & reload Coffee & Kompass chang es im Browser

, die eine großartige Eigenschaft von Yeoman ist!

Jetzt möchte ich die gleiche Funktion mit Jade. So installierte ich grunt-jade über npm install grunt-jade und addierten die folgenden config in GruntFile.js die Jade-Vorlagen zu kompilieren:

jade: { 
     html: { 
     src: ['app/views/*.jade'], 
     dest: 'app/views', 
     options: { 
      client: false 
     } 
     } 
    }, 

konnte ich die jade Aufgabe in Yeoman Uhr der & Reload Aufgaben durch Integration Hinzufügen des folgenden config in der watch Aufgabe:

watch: { 
    ... 
    jade: { 
     files: 'app/views/*.jade', 
     tasks: 'jade reload' 
    }, 
    ... 
    } 

A nd alles funktioniert wunderbar gut ... außer, dass die anfängliche Kompilierung nicht auftritt, wenn ich die jade Aufgabe dem Befehl hinzufügen:

yeoman jade server 

Unser Butler nicht dieses schöne Mädchen mögen, weil er sie nicht lassen integriere mit seiner server Aufgabe :) Und das ist ärgerlich, da yeoman server kompiliert nur coffeescript & Kompass-Dateien.

Gibt es eine Möglichkeit, wie ich die jade Aufgabe zur Standardausführung von yeoman server hinzufügen könnte?

+1

+1 gründliche que sion – Shanimal

+0

Für die neuesten Yeoman (1.0.0-x) gibt es eine Anleitung, wie Sie das funktioniert: https://gist.github.com/kevva/5201657 Stellen Sie sicher, dass Sie die Änderungen wie in den Kommentaren erwähnt integrieren. Ich benutze 1.0.0-beta.4 und arbeite für mich! – maethorr

Antwort

14

Wir haben eine Anleitung, wie man Jade mit Yeoman integrieren: Using Yeoman and Jade

+0

Ich dachte darüber nach. Hoffte nur auf eine sauberere Lösung. Aber im Moment werde ich tun.Danke – asgoth

+0

Die 'Original-Server' Aufgabe läuft "sauber" Aufgabe, nachdem es unsere Vorlage kompiliert hat - wie lösen wir das? –

+1

Wenn es nicht ausreicht, die Jade-Aufgabe vor oder nach dem "Original-Server" zu setzen, können Sie einfach die "Server" -Aufgabe durch 'grunt.registerTask ('Server', 'Jade-Task-Aufgabe auflösen') ersetzen;' und stellen Sie sicher, dass alle ursprünglichen Aufgaben von /tasks/yeoman.js enthalten sind. –

3

stellen Sie sicher,

grunt.loadNpmTasks('grunt-jade'); 

auf Ihre gruntfile hinzuzufügen, sonst Yeoman nicht weiß, wie die "zu handhaben Jade“Aufgabe

+0

Natürlich ... Meine Grunzdatei funktioniert, nur die Yeoman Integration nicht. Aber @ Sindre hat eine Lösung gefunden. – asgoth

+0

Das hat mir geholfen. Vielen Dank. – tristan