Express.js, node.js Jade - после учебников Expressjs.com и получения ошибок
Вопрос
Что ж, я пытаюсь попасть в node.js / express.js - однако у меня было несколько проблем, проходящих сквозь скринкаст, первая проблема, которая теперь была решена, была довольно очевидна, когда она была замечена (Express.js, node.js Jade Vim).
Однако сейчас я получаю следующие ошибки:
Express 500 SyntaxError: Unexpected identifier * at Object.Function (unknown source) * at Object.compile (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:230:10) * at ServerResponse._render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:368:22) * at ServerResponse.render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:234:17) * at Object. (/home/duncan/helloExpress/app.js:46:7) * at nextMiddleware (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:139:34) * at param (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:147:16) * at pass (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:155:10) * at Object.router [as handle] (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:161:6) * at next (/usr/local/lib/node/.npm/connect/1.4.0/package/lib/http.js:204:15)
My App.js Code выглядит следующим образом: объявить пользовательский массив объекта
var users = [ { name: 'Duncan', email: 'duncan@email.com'}, { name: 'Bob', email: 'bob@email.com'} ];
и ... бит, который звонит и отдает от новых пользователей. Джейд
app.get('/users', function(req, res){ res.render('users', { users: users }); });
Я не знаю, сегодня я просто слеп, но я бы очень хотел, чтобы этот пример работал.
Нб. app.js 46: 7 - это 'res.render' char 7 - это. между Res и рендерингом. - Из сообщения об ошибке.
Файл users.jade заключается в следующем:
h1 Users ul#users - each user in users li= user.name
Если я избаюсь от: пользователя в пользователях и li = user.name
Это отдает страницу, как только я добавляю их, дает мне приведенное выше сообщение об ошибке и говорит, что что -то не так с Res.Render («пользователи» - на точке (46: 7).
Пса Я следую за вторым учебником здесь: http://expressjs.com/screencasts.html
Мое отступление:
[indent] - [indent] each user in users [indent][indent] li= [indent] user.name
Решение
Вам нужно отступить li= user.name
Еще один уровень вниз от каждого утверждения.
Это должно работать:
h1 Users
ul#users
- each user in users
li= user.name
Другие советы
Я получал эту ошибку, потому что в моем макете. Джейд
Я имел:
html(class="no-js" lang="en")
И ясно, что это место ^^^ Прямо там не хватает запятой !!!!
Джейд великолепен и все, но вау, это сообщение об ошибке плохое для начинающих.
Должно было:
html(class="no-js", lang="en")