我的node.js Express代码中的SyntaxError

Aar*_*ron 1 syntax-error node.js express

所以我试着按照这个教程视频:

http://nodetuts.com/tutorials/13-authentication-in-express-sessions-and-route-middleware.html#video

因此我在我的routes/index.js文件顶部有这个代码:

var todo = require('../todo'); //line 1
//line 2
//new session //line 3
exports.newSession = function (req, res) { //line 4
  res.render('sessions/new', { //**line 5**
    locals: {
      redir: req.query.redir
    }
  });
};
Run Code Online (Sandbox Code Playgroud)

但是,当我运行我的应用程序并触发routes.newSession处理程序时,我收到此错误:

500 SyntaxError: Unexpected identifier
at Object.Function (unknown source)
at Object.compile (/home/admin73464/todo/node_modules/jade/lib/jade.js:161:8)
at Function.compile (/home/admin73464/todo/node_modules/express/lib/view.js:65:33)
at ServerResponse._render (/home/admin73464/todo/node_modules/express/lib/view.js:414:18)
at ServerResponse.render (/home/admin73464/todo/node_modules/express/lib/view.js:315:17)
at /home/admin73464/todo/routes/index.js:5:6
at callbacks (/home/admin73464/todo/node_modules/express/lib/router/index.js:272:11)
at param (/home/admin73464/todo/node_modules/express/lib/router/index.js:246:11)
at pass (/home/admin73464/todo/node_modules/express/lib/router/index.js:253:5)
at Router._dispatch (/home/admin73464/todo/node_modules/express/lib/router/index.js:280:4)
Run Code Online (Sandbox Code Playgroud)

我的index.js文件中没有看到任何语法错误; 你呢?我应该在别的地方寻找吗?

提前致谢!

编辑:这是我的views/sessions/new.jade文件的内容:

h1 Login
form(action='/sessions', method='POST')
  input(type='hidden', name='redir', value=redir)
  p
    label(for='login') Login:
    input(type='text' name='login', id='login')
  p
    label(for='password') Password:
    input(type='password' name='password', id='password')
  p
    input(type='submit')
Run Code Online (Sandbox Code Playgroud)

我很确定我完全复制了佩德罗写的内容.

第二次编辑:我也在使用layout.jade文件.这里是:

!!!
html
  head
    title Our ToDo App
    link(rel='stylesheet', href='/stylesheets/style.css')
  body!= body
Run Code Online (Sandbox Code Playgroud)

根据受访者的建议,我尝试删除new.jade中的所有行(以及除第一行之外的所有行).我得到了同样的错误.我也试过删除layout.jade中的所有行,并且还只删除最后一行(body!= body).同样的错误.

感谢到目前为止的所有回复,我很高兴你们给我的帮助和建议到目前为止.

第三次编辑:我已发布我的应用程序的文件夹和文件

http://www.miramontestequila.com/todo/

我正在使用的目录结构是Express的默认值,因此应该是不言自明的.

fen*_*ent 8

在你的new.jade文件中,你有行

input(type='text' name='login', id='login')
input(type='password' name='password', id='password')
Run Code Online (Sandbox Code Playgroud)

你在typename属性之间缺少逗号.请记住,在Jade中,您必须在HTML属性之间放置逗号.