Node js copie Node JS ous avons créé notre première vraie application avec son serveur web embarqué Mais l'application est pour l'instant minimaliste Le message renvoyé est du texte brut il ne comporte même pas de HTML L'application renvoie toujours le mê
Node JS ous avons créé notre première vraie application avec son serveur web embarqué Mais l'application est pour l'instant minimaliste Le message renvoyé est du texte brut il ne comporte même pas de HTML L'application renvoie toujours le même message quelle que soit la page appelée http localhost http localhost mapage http localhost dossier autrepage Pour que ce chapitre soit complet nous allons voir comment remédier à ces deux problèmes Commençons ici par voir comment faire pour renvoyer du HTML Comme je vous l'ai dit il y a des règles à respecter entre le client et le serveur Ils communiquent en se basant sur la norme HTTP inventée par Tim Berners-Lee Cette norme est à la base du Web tout comme le langage HTML qui a aussi été inventé par ce même monsieur Que dit la norme HTTP Que le serveur doit indiquer le type de données qu'il s'apprête à envoyer au client Eh oui un serveur peut renvoyer di ?érents types de données Du texte brut text plain Du HTML text html Du CSS text css Une image JPEG image jpeg Une vidéo MPEG video mp Un ?chier ZIP application zip etc Ce sont ce qu'on appelle les types MIME Ils sont envoyés dans l'en-tête de la réponse du serveur Vous vous souvenez comment on écrit dans l'en-tête de la réponse avec Node js Nous avions écrit ceci var http require 'http' var server http createServer function req res res writeHead Content-Type text html res end ' Voici un paragraphe HTML ' server listen CJusqu'ici nous avions toujours écrit le code HTML dans res end Pour mieux découper le code à partir de maintenant j'utilise la commande res write qui permet d'écrire la réponse en plusieurs temps Ca revient au même mais notre code est mieux découplé comme ça res end doit toujours être appelé en dernier pour terminer la réponse et faire en sorte que le serveur envoie le résultat au client var http require 'http' var server http createServer function req res res writeHead Content-Type text html res write '' '' ' ' ' ' ' ' ' ' ' ' ' Voici un paragraphe HTML ' ' ' '' res end server listen Il existe des moyens de séparer le code HTML du code JavaScript ce sont les systèmes de templates C'est un peu hors sujet pour le moment étant donné qu'on commence tout juste à découvrir les bases de Node js Mais si le sujet vous intéresse sachez qu'il existe des tonnes de modules Node js dédiés aux templates Le choix est immense Eh bien vous êtes des grands vous devriez savoir comment faire pour renvoyer un message di ?érent en fonction de la page demandée Non Une petite condition un petit if ça vous dit rien Cvar http require 'http' var url require 'url' var server http createServer function req res var page url parse req url pathname console log page res writeHead Content-Type text plain if page ' ' res write 'Vous êtes
Documents similaires
-
23
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Aucune attribution requise- Détails
- Publié le Sep 02, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 38.7kB