node.js调用文件的任何位置都有意外的标识符

时间:2011-02-24 11:50:50

标签: node.js pug

我正在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。

无论我拨打什么代码,都会发生这种情况。

我迷路了......

4 个答案:

答案 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)

在任何scriptstyle代码上,请务必将其更改为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');

确保间距等实际上从您的东西中缩进了一个空格