Quelle partie de ce code sont des éléments de modèle de jade et qui sont des éléments JavaScript?

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

  •  25-10-2019
  •  | 
  •  

Question

Ce que je comprends est que le moteur de modèle de jade a ses propres éléments structurants et il prend également en charge un certain JavaScript. Mais dans le code suivant, je ne peux pas distinguer ce qui est un code non JavaScript (ce qui est Node.js + express.js ):

Ceci est le fichier de vue (de index.jade):

h1= title
#articles
    - each article in articles
      div.article
        div.created_at= article.created_at
        div.title 
            a(href="/blog/"+article._id.toHexString())!= article.title
        div.body= article.body

Ceci est le fichier du serveur (app.js):

app.get('/', function(req, res){
    articleProvider.findAll( function(error,docs){
        res.render('index.jade', { locals: {
            title: 'Blog',
            articles:docs
            }
        });
    })
});

aide quelqu'un peut me effacer cette confusion?

Était-ce utile?

La solution

Le Readme Jade-Lang a code section qui va dans les détails sur ce qui est et n'est pas javascript côté client.

En gros, si vous utilisez le code dans votre modèle, et ce n'est pas dans une balise de script, il va rendre la sortie de ce javascript avant qu'il envoie au navigateur. Il est encore javascript, mais il est exécuté côté serveur. Tout javascript dans une balise de script est juste javascript normal et est envoyé au navigateur comme tout le reste.


Comme pour l'exemple que vous avez publié, la ligne:

- each article in articles

traduit:

for (var article in articles) {
    /* Whatever else is going on in the template */
}

Aussi:

a(href="/blog/"+article._id.toHexString())!= article.title

Traduit (simplifié) à

"<a href=\"/blog\"" + article._id.toHexString() + ">" + /* Escaped article.title */ + "</a>"

Mais Jade et Parsis rend les résultats avant qu'il ne soit envoyé au navigateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top