node.js Неожиданный идентификатор в любом месте файла - PullRequest
7 голосов
/ 24 февраля 2011

Я пишу приложение в 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 ]

15 голосов
/ 07 сентября 2011

Я обнаружил, что эта проблема является другой суммой, возможно, у вас есть неподдерживаемое attr при вызове нефритового шаблона, например:

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

Мне понадобилось целую вечность, чтобы выяснить это, и единственный способ сделать это - начать извлекать куски кода из файла шаблона Jade, который вы вызываете в своем res.render.

Удачи, эта ошибка может быть много.

Обновление: http://groups.google.com/group/express-js/browse_thread/thread/b9acfc80f6acb63b?pli=1

Вы можете использовать jade index.jade для отладки файла

3 голосов
/ 03 октября 2012

В моем случае это была проблема с синтаксисом

У меня было:

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

Это должно было быть

input.search-query(placeholder="Search", type="text")
0 голосов
/ 20 января 2014

В любых тегах script или style убедитесь, что вы изменили их на 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');

Удостоверьтесь, что интервал и т. Д. Фактически смещены на один пробел от вашего материала

0 голосов
/ 05 января 2012

В моем случае проблема была решена путем удаления последней обратной косой черты в этой строке ...

<a href="" onclick="window.open(\'http://www.facebook.com/' + friend.uid + '\');">
...