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的默认值,因此应该是不言自明的.
在你的new.jade文件中,你有行
input(type='text' name='login', id='login')
input(type='password' name='password', id='password')
Run Code Online (Sandbox Code Playgroud)
你在type和name属性之间缺少逗号.请记住,在Jade中,您必须在HTML属性之间放置逗号.
| 归档时间: |
|
| 查看次数: |
3335 次 |
| 最近记录: |