7

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

4 回答 4

15

我发现这个问题是不同的事情,可能是您在玉模板调用上有一个不受支持的 attr,例如:

<img src="something.jpg" rel="prettyPhoto" />

我花了很长时间才发现这一点,唯一的方法是开始从你在 res.render 中调用的玉模板文件中提取代码块。

祝你好运,这个错误可能是很多事情。

更新:http ://groups.google.com/group/express-js/browse_thread/thread/b9acfc80f6acb63b?pli=1

可以jade index.jade用来调试文件

于 2011-09-06T20:01:15.340 回答
3

就我而言,这是语法问题

我有:

input.search-query(placeholder="Search" type="text")

应该是

input.search-query(placeholder="Search", type="text")
于 2012-10-03T13:28:57.520 回答
0

在我的情况下,通过删除此行中的最后一个反斜杠解决了这个问题......

<a href="" onclick="window.open(\'http://www.facebook.com/' + friend.uid + '\');">
于 2012-01-05T17:37:15.873 回答
0

在任何scriptstyle标签上确保将它们更改为script.style.

根据 Jade 更新,您必须这样做。我在使用 Google Analytics 代码时遇到了问题,直到我在 Git 存储库中阅读了该代码

例子:

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');

确保间距等实际上是从你的东西缩进一个空格

于 2014-01-20T05:14:22.430 回答