2016-06-02 14 views
4

Hier meine Ordnerstruktur ist:Fehler bei der alle Lenker Vorkompilieren Vorlagendateien in einer js Datei

app 
└───templates 
    ├───templ1.hbs 
    ├───templ2.hbs 
    └───templ3.hbs 

Ich möchte kompilieren (precompile) alle templN.hbs Lenker Vorlagendateien in einer templ.js Datei, aber wenn ich mit diesem Fehler versucht, es nicht

$ handlebars *.hbs -f templ.js 

Compilierung über eine Konsole zu tun

(...)\AppData\Roaming\npm\node_modules\handlebars\bin\handlebars:120 
    throw err; 
    ^
Error: Unable to open template file "*.hbs" 
    at (...)\AppData\Roaming\npm\node_modules\handlebars\dist\cjs\precompiler.js:107:25 
    at FSReqWrap.oncomplete (fs.js:82:15) 

Was das Matts äh?

+0

Haben Sie sicherstellen, dass Sie das Active Directory in den richtigen Ordner geändert haben? Es ist wahrscheinlich, dass es barfing ist, weil es nach 'templ1.hbs' sucht, aber Sie führen den Befehl tatsächlich von' ~/Desktop' oder so. – Titus

+0

@Titus Wenn ich diesen Befehl von cmd ausführe, bin ich im 'app/templates /' Ordner. In der Tat funktioniert das Kompilieren einer einzelnen Vorlage wie templ1.hbs mit '$ lenkern templ1.hbs -f templ1.js' gut. – grimidev

Antwort

6

Nach ein wenig Übung mit Lenker und seinem Precompiler fand ich heraus, die Lösung war so einfach wie dumm meine Frage war.

Zunächst ist es besser, im Stammordner zu bleiben, daher in meinem Fall in app Ordner bleiben. Dann alle .hbs Vorlagen zu erstellen, einfach passieren die gesamten ./handlebars Ordner als Eingabe für Lenker Precompilers und geben Sie die Erweiterung von Vorlagen er aussehen soll:

$ handlebars ./templates -f templ.js --extension "hbs" 

Alles sollte gut funktionieren.

Weitere Precompilers die Optionen siehe http://handlebarsjs.com/precompilation.html