【问题标题】:starting with the MEAN stack, just grunted从 MEAN 堆栈开始,只是咕哝
【发布时间】:2013-12-23 05:20:09
【问题描述】:

所以,我变得刻薄了。一切都安装好了。不过,我有一些问题,我希望获得一些关于如何阅读这些错误日志的指导。我来自 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?从这个意义上说,这不应该从我的项目的某个地方开始吗?我对此有点困惑。我实际上是因为我想学习 mongo 和 NoSQL 而跳入这整个 MEAN 的事情,所以我肯定需要解决这个问题。

所以,我想启动并运行它。您可以向我提出的任何其他提示和技巧将不胜感激!

【问题讨论】:

  • 你为什么不想手动启动 Mongo?您想在每次重新启动应用程序时重新启动它吗?对于它的价值,我个人无法忍受翡翠。它的解析器会做一些奇怪的事情,而且对我来说似乎永远无法正常工作。再说一次,我也讨厌 HAML ......这是一个见仁见智的问题。如果我对您有建议,那就是不要从安装所有可能的东西开始,而是首先了解每个组件到底是什么。
  • 我只是从 mean.io 的内容开始。它没有提到必须手动启动 mongo,所以我觉得很奇怪。我只想让“一切”运行起来,然后我将开始解剖。
  • @Mallanaga 你解决了吗?我在这里有同样的问题:stackoverflow.com/questions/20915513/…
  • 是玉版。所以在依赖项中的package.json 中,jade 最迟...我不得不将其更改为 0.35,然后运行npm update 以使其移动。
  • @Mallanaga 我试图将翡翠版本设置为 0.35,但它并没有改变任何东西。另一方面,如果我在运行grunt 之前运行mongod,它就可以工作。你也需要这样做吗?

标签: node.js pug mean-stack


【解决方案1】:

Jade 的最新版本具有新的 doctype 语法。 正如错误消息中所写,您必须将 default.jade 行中的!!! 更改为doctype,即

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

【讨论】:

  • 这很烦人,尽管他们这样做是有道理的。感谢您的帖子。
  • 我们将 Jade 改为 swig 以避免晦涩的语法并为服务器端模板提供更接近 HTML 标记的内容
【解决方案2】:

这已在 mean.io 存储库中修复... 不再需要手动更改.. https://github.com/linnovate/mean/pull/198

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-12-07
    • 2019-09-20
    • 2013-09-27
    • 1970-01-01
    • 2014-11-10
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多