Express.js, Node.js Jade - Après les expressjs.com tutoriels, et obtenir des erreurs

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

  •  27-10-2019
  •  | 
  •  

Question

Eh bien, je suis en train d'entrer dans Node.js / express.js - mais j'ai eu quelques problème en passant par le screencast, le premier numéro, maintenant résolu, était assez évident quand il a été repéré ( express.js, Node.js Jade vim ).

Cependant, je reçois maintenant les erreurs suivantes:

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)

Mon app.js code est le suivant: Déclarer le tableau d'utilisateurs de l'objet

var users = [
    { name: 'Duncan',   email: 'duncan@email.com'},
    { name: 'Bob',  email: 'bob@email.com'}
];

... le bit que les appels et rend le nouveau users.jade

app.get('/users', function(req, res){
  res.render('users', {
        users: users
  });

});

Je ne sais pas si je suis juste aujourd'hui aveugle, mais je voudrais vraiment obtenir ce travail exemple.

NB. app.js 46: 7 est la «res.render CHAR 7 est le. entre res et rendre. - du message d'erreur.

Le fichier users.jade est comme suit:

h1 Users
ul#users
    -   each user in users
    li= user.name

Si je me débarrasser de: utilisateur utilisateurs et li = user.name

il rend la page, dès que je les ajoute, il me donne le message d'erreur ci-dessus, et dit qu'il ya quelque chose de mal avec res.render ( « utilisateurs » - sur le point (46: 7)

PS. Je suis le deuxième tutoriel ici: http://expressjs.com/screencasts.html

Mon indentation:

[indent] - [indent] each user in users
[indent][indent] li= [indent] user.name
Était-ce utile?

La solution

Vous devez le retrait li= user.name un autre niveau bas de la chaque instruction.

Cela devrait fonctionner:

h1 Users
ul#users
  - each user in users
    li= user.name

Autres conseils

je recevais cette erreur, car dans mon layout.jade

a:

html(class="no-js" lang="en")

ET CLAIREMENT QUE ^^^ DROIT SPOT IL MANQUE A VIRGULE !!!!
Jade est grande et tout, mais wow ce message d'erreur est mauvais pour les débutants.

Aurait dû être:

html(class="no-js", lang="en")
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top