Express.js, node.js Jade - после учебников Expressjs.com и получения ошибок

StackOverflow https://stackoverflow.com/questions/5847589

  •  27-10-2019
  •  | 
  •  

Вопрос

Что ж, я пытаюсь попасть в 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")
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top