jade moteur de template, comment utiliser la mise en page.jade?
J'ai un site web dans node.js; création d'une page, dire mypage
j'ai remarqué que j'ai besoin de créer à la fois un layout.jade
et mypage.jade
fichiers. Si j'ai mis le code dans mypage.jade
il n'est pas affiché, donc je dois d'abord remplir layout.jade
avec la mise en page de la page.
Ma question est, comment dois-je faire référence à l'intérieur de layout.jade
que je voudrais charger le contenu de mypage.jade
dans un certain conteneur, par exemple? Puis-je avoir des pages différentes avec la même mise en page? Comment puis-je faire cela?
Grâce
- Vous êtes à l'aide de le droit Exprès?
- Oui, désolé de ne pas le mentionner. Je suis à l'aide d'Exprimer.
Vous devez vous connecter pour publier un commentaire.
http://expressjs.com/guide.html#view-rendering
Si vous ne voulez pas utiliser les mises en page, vous pouvez les désactiver à l'échelle mondiale:
Si vous ne le faites pas les mises en page sont activées par défaut et d'Exprimer des recherches pour la mise en page standard dans your_view_folder/mise en page.jade
Vous pouvez spécifier une mise en page distincte pour chaque voie si:
Voici comment votre fichier de mise en page pourrait être:
Noter que les corps seront prises à partir de "mypage.jade".
Modifier:
Voici un exemple réel dans une application:
L'application fichier contenant les itinéraires et les configs):
https://github.com/alexyoung/nodepad/blob/master/app.js
Le fichier de mise en page:
https://github.com/alexyoung/nodepad/blob/master/views/layout.jade
res.render(__dirname+'/pages/index.jade', {user: usr});
, de sorte que ce que vous dites est de donner à l'objet qui encapsule mon utilisateur peut également ajouter un champ appelé de mise en page: et donner à ma disposition? Parce que pour l'instant il utilise déjà la mise en page, même si je n'ai pas le spécifier (ne charge pasindex.jade
mais la mise en page. En outre, div= corps ce qui va prendre? le corps de la.jade
fichier?Un peu en retard à la fête, mais j'ai eu du mal à trouver la réponse initialement...
Dans la mise en page.jade
Puis dans l'index.jade
Rendra
En express 3.x
Utilisation de blocs de Jade, pas de mises en page
http://www.devthought.com/code/use-jade-blocks-not-layouts/
Je sais une approche qui m'a donné les meilleurs résultats, même angulaire (pour remplacer angulaire de l'itinéraire/ng-view)
Premier de tous sera nécessaire pour installer express-mise en page:
Après, express recherche pour la mise en page.jade fichier à l'intérieur de votre vues/ dossier. Ainsi, à l'intérieur de cela, vous pouvez utiliser:
views/layout.jade
vues/home.jade
server.js
Par défaut express recherche pour la mise en page.jade dans votre vues/ dossier, mais vous pouvez changer la valeur par défaut, en utilisant (oui, il n'est pas nécessaire d'écrire .jade extension):
Après que l'express, l'utilisation de points de vue/par défaut.jade comme la mise en page par défaut.
Aussi, si vous souhaitez utiliser une mise en page différente dans une page en particulier, vous pouvez utiliser:
Ici exprimer rendra compte de connexion.jade comme la mise en page.
Je suppose que vous êtes à l'aide de Jade comme la vue par défaut du moteur, et de ne pas modifier le dossier par défaut pour les vues.
Ici est la express-mise en page de doc.