Javascript nodejspeepcode教程-can';我不能让它工作

Javascript nodejspeepcode教程-can';我不能让它工作,javascript,node.js,coffeescript,pug,express,Javascript,Node.js,Coffeescript,Pug,Express,我买了最新的nodejspeepcode教程,并遵循它,但是我无法通过最初的步骤 由于调试nodejs对我来说是一个谜,所以我花了几个小时来找出我在哪里出错,我感到很沮丧 应用程序结构如下所示: example |__public |__views |__assets |__apps <- instead of routes server.js package.json /应用程序/身份验证/路由。咖啡: routes = (app) -> a

我买了最新的nodejspeepcode教程,并遵循它,但是我无法通过最初的步骤

由于调试nodejs对我来说是一个谜,所以我花了几个小时来找出我在哪里出错,我感到很沮丧

应用程序结构如下所示:

example 
  |__public
  |__views
  |__assets 
  |__apps <- instead of routes
  server.js
  package.json
/应用程序/身份验证/路由。咖啡:

routes = (app) ->

    app.get '/login', (req, res) ->
        res.render "views/login",
            title: 'Login'
            stylesheet: 'login'

module.exports = routes
应用程序/身份验证/视图/登录.jade模板:

form(action='/sessions', method='post')
  label
    | Username
    input(type='text', name='user')
  label
    | Password
    input(type='password', name='password')
  input(type='submit', name='Submit')
没什么特别的,我在public/stylesheet/login.css中得到了一个样式表文件和login.css 而不是在浏览时使用authentication/routes.coffe中的登录模板

没有来自节点的任何其他错误消息:

Express server listening on port 3000 in development mode
我不知道问题出在哪里,这真令人沮丧。
也许某个地方有一些愚蠢的打字错误,但我不明白:(

看起来一切都在按预期工作。问题是您没有定义与请求匹配的路由
GET/
。您只在
路由中定义了与
GET/login
匹配的路由。咖啡
;此外,
GET/anythingiYourPublicDir
将由于
express.static
mi而工作d软件。

您没有为根“/”配置路由。导航到应该返回资源“/login”路由指定的登录视图。您需要添加以下内容:

app.get '/', (req, res) ->
  #if not logged-in then send to /login else
  res.render('/views/authenticated', 'Home', 'index')

有关路由的更多详细信息,请参见。

有趣的是,peepcode教程没有提到它,但localhost:3000/登录也不起作用。已经尝试过了。你是对的。我以前没有见过一个打字错误,现在/login路由起作用了。真的很烦人。关于在nodejs中调试此类错误的任何提示?谢谢你的提示。转到che我注意到它被实现到了TextMate JavaScript工具bundle;)OOpp中。很抱歉,你是对的Trevor。我以前有一个输入错误,我错过了。现在/login链接起作用了。必须添加{{/在routes.coffe中查看/登录。真的很蠢。关于在nodejs中调试东西有什么提示吗?@PJJ我想说Node很难调试,主要是因为它的异步性太强。绝对理解JavaScript的事件模型是如何工作的。(插件:我已经讨论过这个问题。)5分钟前买的;)谢谢你的提示。还有其他要签出的内容吗?@PJJ如果有人来这里复制/粘贴,您可能需要将“{#uu dirname}/views/login”改为“{#uu dirname}/views/login”。
Express server listening on port 3000 in development mode
app.get '/', (req, res) ->
  #if not logged-in then send to /login else
  res.render('/views/authenticated', 'Home', 'index')