从MEAN堆栈开始,只是哼了一声

时间:2013-12-23 05:20:09

标签: node.js pug mean-stack

所以,我得到了意思。一切都安装好了。不过,我有一些问题,我希望能就如何阅读这些错误日志提供一些指导。我来自Rails,供参考。

首先,与http://mean.io/一起,npm install存在一些问题,但更新和清除缓存可以解决这个问题。现在我在咕噜咕噜。我得到的第一件事是:

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...

所以,我猜了一下,想到也许我必须手动启动mongo? mongod然后在新的控制台中gruntExpress app started on port 3000 !!活泉。在访问http://localhost:3000/时,我得到了这个怪物:

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)

所以,我认为它是第一个或第二个问题,其余的只是向父元素渗透,对吧?有些事情在layouts/default.jade文件中不正确。这里的一切都是库存,我没有做任何修改。 Jade看起来很像HAML ......我想我会喜欢这个!

我是否必须手动启动mongod?在这个程度上,不应该在我的项目中的某个地方开始吗?我有点困惑。我实际上是跳进了这整个MEAN的事情,因为我想学习mongo和NoSQL,所以我肯定需要把它平方。

所以,我想让它运行起来。你可以向我投掷的任何其他提示和技巧将不胜感激!

2 个答案:

答案 0 :(得分:7)

最新版本的Jade有一个新的doctype语法。 由于它是在错误消息中编写的,您必须将{strong> default.jade 行更改为!!!doctype,即

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

答案 1 :(得分:2)

这是在mean.io repo修复的...... 无需再手动更改.. https://github.com/linnovate/mean/pull/198