Comment me débarrasser de Jade en utilisant Express avec Node.JS? Je veux simplement utiliser du HTML. Dans d'autres articles, j'ai vu que les gens recommandaient app.register () qui est maintenant obsolète dans la dernière version.
103
title
dans un fichier html?Jade accepte également les entrées html.
Ajoutez simplement un point à la fin de la ligne pour commencer à soumettre du HTML pur.
Si cela vous convient, essayez:
PS - Pas besoin de fermer HTML - c'est fait automatiquement par Jade.
la source
À partir d'Express 3, vous pouvez simplement utiliser
response.sendFile
À partir de la référence officielle de l'API express :
avertissement
res.sendFile
fournit un cache côté client via les en-têtes de cache http mais il ne met pas en cache le contenu des fichiers côté serveur. Le code ci-dessus frappera le disque à chaque demande .la source
sendfile
ne vous permet pas de créer des modèles car il envoie simplement des octets à partir d'un fichier. De plus, je recommanderais de ne pas utilisersendfile
ce type d' utilisation, car cela signifie que vous frapperez le disque à chaque fois qu'une demande arrive - un énorme goulot d'étranglement. Pour les pages à fort trafic, vous devez vraiment faire de la mise en cache en mémoire.À mon avis, utiliser quelque chose d'aussi gros que des ejs juste pour lire des fichiers html est un peu lourd. Je viens d'écrire mon propre moteur de template pour les fichiers html qui est remarquablement simple. Le fichier ressemble à ceci:
J'ai appelé le mien htmlEngine, et la façon dont vous l'utilisez est simplement en disant:
la source
app.register()
n'a pas été déprécié, il vient d'être renomméapp.engine()
depuis qu'Express 3 change la façon dont les moteurs de modèles sont gérés .Si vous recherchez un moteur de création de modèles qui vous permet d'utiliser du HTML `` simple '', je recommande doT car il est extrêmement rapide .
Bien sûr, gardez à l'esprit que le modèle de vue Express 3 vous laisse la mise en cache de la vue (ou à votre moteur de création de modèles). Dans un environnement de production, vous souhaitez probablement mettre en cache vos vues en mémoire afin de ne pas effectuer d'E / S disque à chaque demande.
la source
Vous pouvez utiliser EJS avec express quels modèles sont HTML mais prennent en charge les variables. Voici un bon tutoriel sur la façon d'utiliser EJS dans express.
http://robdodson.me/blog/2012/05/31/how-to-use-ejs-in-express/
la source
Pour que le moteur de rendu accepte html au lieu de jade, vous pouvez suivre les étapes suivantes;
Installez consolider et swig dans votre répertoire.
ajoutez les lignes suivantes à votre fichier app.js
ajoutez vos modèles de vues au format .html dans le dossier «vues». Redémarrez votre serveur de nœuds et démarrez l'application dans le navigateur.
Bien que cela rendra html sans aucun problème, je vous recommande d'utiliser JADE en l'apprenant. Jade est un moteur de modèle incroyable et apprendre cela vous aidera à obtenir une meilleure conception et une meilleure évolutivité.
la source
vérifiez d'abord la version de compatibilité du moteur de modèle en utilisant la ligne ci-dessous
alors vous ne devez utiliser aucune vue de la liste. sélectionner aucune vue
maintenant vous pouvez utiliser tous vos html, css, js et images dans un dossier public.
la source
Eh bien, il semble que vous vouliez servir des fichiers statiques. Et il y a une page pour cela http://expressjs.com/en/starter/static-files.html
Bizarre que personne ne se connecte à la documentation.
la source
Considérant que vos itinéraires sont déjà définis ou que vous savez comment le faire.
NOTE: cette route doit être placée après toutes les autres puisque * accepte tout.
la source
puisque Jade prend en charge HTML, si vous voulez juste avoir .html ext, vous pouvez le faire
alors vous changez simplement de fichier dans les vues de jade à html.
la source
Vous pouvez également inclure directement votre fichier html dans votre fichier jade
Réponse originale: Générateur express sans jade
la source
Si vous voulez utiliser du HTML brut dans nodeJS, sans utiliser de jade .. ou autre:
Personnellement, je me débrouille bien avec ça.
L'avantage est la simplicité lors du contrôle. Vous pouvez utiliser quelques astuces, comme
'<p>' + (name || '') + '</p>'
, ternaire .. etc.Si vous voulez un code en retrait dans le navigateur, vous pouvez faire:
et utilisez \ t ou \ n à volonté. Mais je préfère sans, en plus c'est plus rapide.
la source
fs
module.fs.readFile(htmlfile, 'utf8', function (err, file) {