J'ai essayé ce changement simple de la graine et créé les fichiers .html correspondants (par exemple index.html).
//app.set('view engine', 'jade');
app.set('view engine', 'html');
et ce fichier est resté le même:
exports.index = function(req, res){
res.render('index');
};
mais en courant je reçois
Erreur 500: impossible de trouver le module 'html'
Est-ce que ma seule option est d'utiliser «ejs»? Mon intention était d'utiliser du HTML brut en conjonction avec AngularJS.
Réponses:
Les réponses à l'autre lien fonctionneront, mais pour diffuser du HTML, il n'est pas du tout nécessaire d'utiliser un moteur de vue, à moins que vous ne souhaitiez configurer un routage funky. Au lieu de cela, utilisez simplement le middleware statique:
la source
res.render()
cela fonctionnera plus. Au lieu de cela, placez vos fichiers HTML brutspublic
et laissez le middleware statique s'occuper de servir les fichiers directement. Si vous avez besoin d'itinéraires plus sophistiqués, vous pouvez probablement configurer votre propre moteur de visualisation HTML.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 vue 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
Dans votre apps.js, ajoutez simplement
Vous pouvez maintenant utiliser le moteur de vue ejs tout en conservant vos fichiers de vue au format .html
source: http://www.makebetterthings.com/node-js/how-to-use-html-with-express-node-js/
Vous devez installer ces deux packages:
Et puis importez les packages nécessaires:
De cette façon, vous pouvez enregistrer vos vues au format .html au lieu de .ejs .
Très utile lorsque vous travaillez avec des IDE qui prennent en charge le HTML mais ne reconnaissent pas les ejs.
la source
essayez ceci pour la configuration de votre serveur
alors vos fonctions de rappel vers les routes ressembleront à ceci:
la source
Aucun moteur de vue n'est nécessaire, si vous souhaitez utiliser angular avec un simple fichier html simple. Voici comment procéder: Dans votre
route.js
fichier:la source
Je recommande d'utiliser https://www.npmjs.com/package/express-es6-template-engine - un moteur de template extrêmement léger et incroyablement rapide. Le nom est un peu trompeur car il peut également fonctionner sans expressjs.
Les bases nécessaires à l'intégration
express-es6-template-engine
dans votre application sont assez simples et assez simples à mettre en œuvre:index.html
fichier situé dans votre répertoire 'views':la source
La réponse est très simple. Vous devez utiliser app.engine ('html') pour afficher les pages * .html. essayez ceci.Il doit résoudre le problème.
le fichier .html fonctionnera
la source
Les fichiers HTML peuvent être rendus à l'aide du moteur ejs:
Et assurez-vous que vos fichiers sous "/ views" sont nommés avec ".ejs".
Par exemple "index.ejs".
la source
Commentez le middleware pour html ie
Utilisez plutôt:
la source
html n'est pas un moteur de vue, mais ejs offre la possibilité d'y écrire du code html
la source
aux pages html du serveur via le routage, je l'ai fait.
et renommé mes fichiers .html en fichiers .hbs - les guidons prennent en charge le html ordinaire
la source
Pour que le moteur de rendu accepte html au lieu de jade, vous pouvez suivre les étapes suivantes;
Cela devrait fonctionner
la source
Essayez cette solution simple, cela a fonctionné pour moi
la source
Installer le modèle ejs
npm install ejs --save
Reportez-vous aux ejs dans app.js
Créez un modèle ejs dans des vues comme views / indes.ejs et utilisez ejs tempalte dans le routeur
la source
Rendre le modèle html à l'aide de swig.
la source
Les fichiers HTML n'ont pas besoin d'être rendus.
ce qu'un moteur de rendu fait est de transformer un fichier qui n'est pas un fichier Html en un fichier Html.
pour envoyer un fichier Html, faites simplement:
vous devrez peut-être utiliser
__dirname+"/index.html"
pour qu'express connaisse le chemin exact.la source