2013-08-20 7 views
7

Also für meine Express-Website, ich bin mit Jade. Also entschied ich mich, meine Layout-Datei zu modifizieren, damit ich mit der Gestaltung meiner Website beginnen kann. Ich änderte den ursprünglichen Layout-Code (die gearbeitet haben), aber ich begann Einzug Fehler in jeder Datei erhalten, die das Layout wie folgt erweitert:Jade Einbuchtung Fehler

500 Error: /home/kevin/Blue/views/layout.jade:6 4| p Hello World Invalid indentation, you can use tabs or spaces but not both 
4| p Hello World 
Invalid indentation, you can use tabs or spaces but not both 
at Object.Lexer.indent (/home/kevin/Blue/node_modules/jade/lib/lexer.js:679:15) 
at Object.Lexer.next (/home/kevin/Blue/node_modules/jade/lib/lexer.js:777:15) 
at Object.Lexer.lookahead (/home/kevin/Blue/node_modules/jade/lib/lexer.js:107:46) 
at Object.Parser.lookahead (/home/kevin/Blue/node_modules/jade/lib/parser.js:115:23) 
at Object.Parser.peek (/home/kevin/Blue/node_modules/jade/lib/parser.js:92:17) 
at Object.Parser.tag (/home/kevin/Blue/node_modules/jade/lib/parser.js:640:22) 
at Object.Parser.parseTag (/home/kevin/Blue/node_modules/jade/lib/parser.js:624:17) 
at Object.Parser.parseExpr (/home/kevin/Blue/node_modules/jade/lib/parser.js:198:21) 
at Object.Parser.block (/home/kevin/Blue/node_modules/jade/lib/parser.js:592:25) 
at Object.Parser.tag (/home/kevin/Blue/node_modules/jade/lib/parser.js:721:26) 

So ist der Code, den ich habe, ist dies:

index.jade

extends layout 

block content 
    p Hello World 

und

doctype 5 
html 
    head 
    title= title 
    link(rel='stylesheet', href='/stylesheets/style.css') 

    body 
     div#header 
      p This is the header 
     block content 

beachten Sie, dass ich nichts buchstabieren habe, falsch und ich weiß, wie man Dateien mit der extends-Option verbindet. Tatsächlich funktionierte der Code einwandfrei, bis ich anfing, mit der Layoutdatei zu spielen. All dies ist meist ein Einrückungsproblem. Ich habe versucht, herauszufinden, ob es mein Texteditor das Problem verursacht ist, und ich habe nicht erfolgreich, herauszufinden, ob es ist, wie ich den Code nicht funktioniert wieder bekommen.

Ich bin mit dem erhabenen Text 2 Editor diesen Jade Code zu schreiben. Wenn es der Texteditor nicht richtig einrücken, könnte jemand mir helfen lernen, wie man es beheben?

+0

In Sublime Text Einstellungen, sagen Sie es Tabs mit Leerzeichen zu ersetzen und dann immer mit Leerzeichen einzurücken (mit der Einstellung auf, werden Sie Leerzeichen beim Tab schlagen). Warum ist der Körper im Kopf? : P – Eldamir

Antwort

48

In der unteren rechten Ecke von Sublime Text sollte ein Etikett mit der Nummer Spaces: N oder Tab Size: N stehen, wobei N eine Zahl ist. Wählen Sie diese und Sie werden Optionen finden Sie im gesamten Dokument der Vertiefung zu konvertieren entweder Leerzeichen oder Tabs zu verwenden:

  • Convert Indentation to Spaces
  • Convert Indentation to Tabs
+2

dauerte eine Weile, um herauszufinden, wie man dies tatsächlich nutzen, aber gearbeitet. Ich muss sagen, dass mir das in naher Zukunft sehr helfen sollte. Vielen Dank. – Kivo360

+1

wow, großartig! danke – Denis

+0

Bei Buddy es jemandem hilft, dort für Brackets Editor hier für den gleichen Zweck https://github.com/davidderaedt/tabtospace-extension –

0

für Bearbeitungsformular auf server.js gesetzt Dateivariable wie folgt

var applications = row; 
res.render("edit", { applications : applications[0] }); 

für edit.jade Datei: