Cóż, próbuję dostać się do Node.js / Express.js - jednak miałem problem z przeglądaniem, pierwszy problem, teraz rozwiązany, był dość oczywisty, gdy został zauważony (Express.js, Node.js Jade vim).
Jednak otrzymuję teraz następujące błędy:
Wyrazić 500 SyntaxError: Nieoczekiwany identyfikator * w Object.Function (nieznane źródło) * w Object.compile (/usr/local/lib/node/.npm/jade/0.10.6/package/lib/jade.js:230:10) * w ServerResponse._render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:368:22) * w ServerResponse.render (/usr/local/lib/node/.npm/express/2.3.2/package/lib/view.js:234:17) * w Object. (/home/duncan/helloExpress/app.js:46:7) * w nextMiddleware (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:139:34) * w parametrze param (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:147:16) * przy przejściu (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:155:10) * w Object.router [jako uchwyt] (/usr/local/lib/node/.npm/express/2.3.2/package/lib/router/index.js:161:6) * w następnym (/usr/local/lib/node/.npm/connect/1.4.0/package/lib/http.js:204:15)
Mój kod app.js jest następujący: Deklaracja tablicy użytkowników obiektu
var users = [ {imię i nazwisko: "Duncan", e-mail: "duncan@email.com"}, {imię i nazwisko: "Bob", e-mail: "bob@email.com"} ];
i... bit, który wywołuje i renderuje nowy plik users.jade
app.get ("/ users", function (req, res) { res.render ("users", { użytkownicy: użytkownicy }); });
Nie wiem, czy jestem dziś ślepy, ale naprawdę chciałbym, aby ten przykład działał.
NB. app.js 46: 7 to "res.render" char 7 to. pomiędzy res i render. - z komunikatu o błędzie.
Plik users.jade jest następujący:
h1 Użytkownicy ul # users - każdy użytkownik w użytkownikach li = user.name
Jeśli pozbędę się: użytkownik w użytkownikach i li = user.name
renderuje stronę, gdy tylko dodaję, daje mi powyższy komunikat o błędzie i mówi, że coś jest nie tak z res.render ("users" - na kropce (46: 7).
PS. Podążam za drugim tutorialem tutaj: http://expressjs.com/screencasts.html
Moje wcięcie:
[wcięcie] - [wcięcie] każdego użytkownika w użytkowników [indent] [indent] li = [indent] user.name
Odpowiedzi:
4 dla odpowiedzi № 1Musisz podać wcięcie li= user.name
inny poziom w dół od każdego stwierdzenia.
To powinno działać:
h1 Users
ul#users
- each user in users
li= user.name
0 dla odpowiedzi nr 2
Otrzymałem ten błąd, ponieważ w moim layout.jade
Miałem:
html(class="no-js" lang="en")
I JASNE, ŻEBY ^ ^ ^ SPOT PRAWDĘ TAM NIE MA KOMPO!
Jade jest świetne i wszystko, ale wow komunikat o błędzie jest zły dla początkujących.
Powinien był być:
html(class="no-js", lang="en")