nodejs envoyer fichier html au client
- Je utiliser cette fonction pour envoyer fichier html pour le client, mais en client je ne reçois rien (page blanche) sans erreur. Quelque chose me trompe?, s'il vous plaît aider?
var express = require('express');
var fs = require('fs');
var app = express();
app.set('view engine', 'jade');
app.engine('jade', require('jade').__express);
app.get('/test', function(req, res) {
fs.readFile(__dirname + '/views/test.html', 'utf8', function(err, text){
res.send(text);
});
var port = process.env.PORT || 80;
var server = app.listen(port);
console.log('Express app started on port ' + port);
Mon test.html fichier
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style something here </style>
<title>Test</title>
<script src="..."></script>
</head>
<body>
<div> Somthing here </div>
<script type="text/javascript">
//something here
</script>
</body></html>
- c'est que tout le code?
- J'ai juste édité
Vous devez vous connecter pour publier un commentaire.
Essayer votre code comme ceci:
Utilisation res.sendFile au lieu de lire le fichier manuellement, donc express peut gérer le paramètre le type de contenu correctement pour vous.
Vous n'avez pas besoin de la
app.engine
ligne, comme c'est géré en interne par l'express.Après des années, je veux ajouter une autre approche à l'aide d'un vue moteur dans
Express.js
Alors, faites-le dans votre
views/test
si vous choisissezres.render
méthode dans le code ci-dessus (je suis en train d'écrire dans EJS format):C'est tout.
De cette façon, vous n'avez pas besoin de casser votre Moteur d'Affichage des arrangements.
});