我正在node.js中编写应用程序,最近我的所有项目都出现意外错误。
当我尝试在浏览器中调用模型时,我总是得到一个
SyntaxError: Unexpected identifier
在我的代码中调用的任何函数。
例如,如果我继续“/ session / new”,
我的代码是:
app.get('/session/new',function (req,res) {
res.render('sessions/new',{locals:{
redir:req.query.redir
}});
});
我收到错误
SyntaxError: Unexpected identifier
at Object.Function (unknown source)
at Object.render (/usr/local/lib/node/.npm/jade/0.6.3/package/lib/jade.js:267:14)
at ServerResponse.render (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/view.js:334:22)
at ServerResponse.render (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/view.js:344:10)
at Object.<anonymous> (/Users/geraudmathe/Desktop/nodemongo/app.js:133:6)
at param (/usr/local/lib/node/.npm/connect/0.5.2/package/lib/connect/middleware/router.js:145:21)
at pass (/usr/local/lib/node/.npm/connect/0.5.2/package/lib/connect/middleware/router.js:161:10)
at Object.router [as handle] (/usr/local/lib/node/.npm/connect/0.5.2/package/lib/connect/middleware/router.js:167:6)
at next (/usr/local/lib/node/.npm/connect/0.5.2/package/lib/connect/index.js:232:23)
at next (/usr/local/lib/node/.npm/connect/0.5.2/package/lib/connect/index.js:234:17)
其中/nodemongo/app.js:133:6在我的代码中是res.render。
无论我拨打什么代码,都会发生这种情况。
我迷路了......
答案 0 :(得分:15)
我发现这个问题是一个不同的事情,可能是你在jade模板调用上有一个不受支持的attr,例如:
<img src="something.jpg" rel="prettyPhoto" />
我花了很长时间才发现这一点,唯一的办法就是从你在res.render中调用的jade模板文件中取出一堆代码。
祝你好运,这个错误可能是很多事情。更新:http://groups.google.com/group/express-js/browse_thread/thread/b9acfc80f6acb63b?pli=1
您可以使用jade index.jade
调试文件
答案 1 :(得分:3)
就我而言,这是语法
的问题我有:
input.search-query(placeholder="Search" type="text")
应该是
input.search-query(placeholder="Search", type="text")
答案 2 :(得分:0)
在我的情况下,通过删除此行中的最后一个反斜杠来解决问题...
<a href="" onclick="window.open(\'http://www.facebook.com/' + friend.uid + '\');">
答案 3 :(得分:0)
在任何script
或style
代码上,请务必将其更改为script.
和style.
根据Jade的更新,你必须这样做。我在使用Google Analytics代码时遇到问题,直到我在Git repo上阅读
示例:
script.
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-11111111-1', 'yourdomain.com');
ga('send', 'pageview');
确保间距等实际上从您的东西中缩进了一个空格