2013-12-23 9 views
7

Also, ich bekomme MEAN. Alles ist installiert. Ich habe jedoch einige Probleme und hoffe auf einige Hinweise zum Lesen dieser Fehlerprotokolle. Ich komme aus Rails als Referenz.beginnend mit dem MEAN-Stack, nur grunzte

Erste Dinge zuerst, gefolgt zusammen mit http://mean.io/, npm install hatte einige Probleme, aber die Aktualisierung und Clearing-Cache kümmerte sich darum. Jetzt grunze ich. Das erste, was ich erhalte, ist:

Express app started on port 3000 

events.js:72 
    throw er; // Unhandled 'error' event 
     ^
Error: failed to connect to [localhost:27017] 
at null.<anonymous>(D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\server.js:540:74) 
at EventEmitter.emit (events.js:106:17) 
at null.<anonymous> (D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection_pool.js:140:15) 
at EventEmitter.emit (events.js:98:17) 
at Socket.<anonymous> (D:\Dropbox\Apps\mean_projects\first\node_modules\mongoose\node_modules\mongodb\lib\mongodb\connection\connection.js:478:10) 
at Socket.EventEmitter.emit (events.js:95:17) 
at net.js:441:14 
at process._tickCallback (node.js:415:13) 
22 Dec 21:03:14 - [nodemon] app crashed - waiting for file changes before starting... 

Also, ich eine Vermutung nahm und dachte, vielleicht hatte ich Mongo manuell starten? mongod dann in einer neuen Konsole, grunt. !! Woot. Nach http://localhost:3000/ besuchen, erhalte ich diese Ungeheuerlichkeit:

Error: D:\Dropbox\Apps\mean_projects\first\app\views\layouts\default.jade:1 > 1| !!! 5 2| html(lang='en', xmlns='http://www.w3.org/1999/xhtml', xmlns:fb='https://www.facebook.com/2008/fbml', itemscope='itemscope', itemtype='http://schema.org/Product') 3| include ../includes/head 4| body `!!!` is deprecated, you must now use `doctype` at Object.Lexer.doctype (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\lexer.js:246:13) at Object.Lexer.next (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\lexer.js:812:15) at Object.Lexer.lookahead (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\lexer.js:111:46) at Parser.lookahead (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\parser.js:109:23) at Parser.peek (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\parser.js:86:17) at Parser.parse (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\parser.js:124:26) at Parser.parse (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\parser.js:138:24) at parse (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\jade.js:95:62) at Object.exports.compile (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\jade.js:152:9) at Object.exports.render (D:\Dropbox\Apps\mean_projects\first\node_modules\jade\lib\jade.js:256:15) 

So nehme ich es das erste oder zweite, was das Problem ist, und der Rest sickert nur bis zu den übergeordneten Elemente, nicht wahr? Irgendetwas stimmt nicht in meiner layouts/default.jade Datei. Alles ist hier auf Lager, ich habe keine Änderungen vorgenommen. Jade sieht sehr nach HAML aus ... Ich denke, ich werde das mögen!

Soll ich manuell mongod starten? Und sollte das nicht irgendwo in meinem Projekt beginnen? Ich bin ein bisschen verwirrt. Ich spring eigentlich in diese ganze MEAN-Sache hinein, weil ich Mongo und NoSQL lernen will, also muss ich definitiv das Quadrat wegschaffen.

Also, ich möchte das einrichten und laufen. Irgendwelche anderen Tipps und Tricks, die Sie auf mich werfen können, würde sehr geschätzt werden!

+1

Warum möchten Sie Mongo nicht manuell starten? Sie möchten es bei jedem Neustart Ihrer App neu starten? Was es wert ist, ich persönlich kann Jade nicht ausstehen. Seine Parser machen seltsame Dinge und scheinen nie richtig für mich zu funktionieren. Andererseits hasse ich auch HAML ... es ist eine Frage der Meinung. Wenn ich einen Rat für Sie hätte, wäre es nicht möglich, alles Mögliche zu installieren, sondern zuerst zu verstehen, was genau die einzelnen Komponenten sind. – Brad

+0

Ich beginne gerade mit dem, was bei mean.io ist. Es wurde nichts über das manuelle Starten von Mongo erwähnt, daher fand ich es merkwürdig. Ich möchte einfach "alles" laufen lassen und dann werde ich anfangen zu sezieren. – Dudo

+0

@Mallanaga hast du es gelöst? Ich habe die gleiche Art von Problem hier: http://stackoverflow.com/questions/20915513/error-when-start-the-server-with-grunt-or-node-server –

Antwort

7

Neueste Version von Jade hat eine neue Doctype-Syntax. Wie es in Fehlermeldung geschrieben, musste man mit !!! zu doctype, dh

doctype html 
html(lang="en") 
    head 
    title= pageTitle 
+0

Das ist nervig, auch wenn es Sinn macht, warum sie das gemacht haben. Danke für die Post. – BRogers

+0

Wir haben Jade in swig umgestellt, um den kryptischen Synatax zu vermeiden und etwas HTML-Marketing für das serverseitige Templating näher zu bringen –