Afficher du HTML
Créer des API c'est cool, mais parfois, on veut créer une application MVC simple qui affichera de l'HTML.
Pour cela, Danet intègre le moteur de template Handlebars.
Avant d'écrire du code
Crée les répertoires suivants à la racine de ton projet
/views
/views/layouts
/views/partials
Info
Si tu veux mettre ces répertoires ailleurs, tu peux fournir le chemin vers views
au moment de l'exécution avec app.setViewEngineDir('mon/chemin/vers/views');
Crée une mise en page par défaut appelée main.hbs
avec le contenu suivant :
Affichons des choses maintenant !
Tout d'abord, créons ton premier modèle appelé hello.hbs
dans le répertoire views
. Il affichera 2 variables passées depuis ton contrôleur.
Maintenant, disons à ton contrôleur qu'il doit rendre cette vue sur une route spécifique :
@Controller('nice-controller')
class MonControleur {
@Render('hello')
@Get('/')
renderUnBeauHTML() {
return { title: "le titre de la page", name: "monde" };
}
}
Nous spécifions le modèle à utiliser avec le décorateur @Render()
, et la valeur de retour de la méthode de la route est passée au modèle pour le rendu.
Note que la valeur de retour est un objet avec les propriétés title
et name
, correspondant aux espaces réservés title
et name
que nous avons utilisés dans le modèle.