Maison >interface Web >js tutoriel >Notes de lecture impressionnantes de node.js : fonctionnalités de node.js_node.js
Les changements dans l'environnement ont entraîné de grands progrès technologiques, apportant à la fois des opportunités et des défis. Comme je n'ai pas encore appris le js, je n'ai eu d'autre choix que de le mettre en rayon et de l'apprendre ensemble. (>﹏<)
1. Lisez et lisez d'abord
Dès le début, j'ai lu "Introduction à Node.js dans un langage simple et profond" sans aucune hésitation, et j'étais confus. Après l'avoir lu, j'ai réalisé que ce livre nécessitait un certain niveau de base. J'ai cherché sur Internet et trouvé "Introduction à Node" de 41 pages et j'ai appris à créer une application Web. Et après avoir rafraîchi mon sentiment d'accomplissement, j'ai lu "The Amazing Node.js". Maintenant, je vais lire "Introduction approfondie à node.js" après avoir lu ce livre.
2. Configurez l'environnement et exécutez la routine sur git (erreur signalée 3 fois)
Après avoir téléchargé le msi depuis le site officiel, passez à la suite. Lors de la saisie de la commande npm install, l'erreur "npm ERR! not found: git" est signalée. La raison est que le nouvel ordinateur ne suit pas git.
Lors de l'installation de packages de dépendances externes, l'erreur "gyp ERR! configure error" est signalée. La raison est que l'environnement Python n'existe pas. Et ce package de dépendances ne peut être installé que sous des versions inférieures. La dernière erreur signalée était « MSBUILD : erreur MSB3428 : échec du chargement du composant Visual C « VCBuild.exe » ». L'erreur était toujours signalée après l'installation du SDK .net Framework 2.0 et de mvs2005. A définitivement abandonné.
3. La première application web
Après avoir exécuté "Hello World", commencez à écrire une application Web entièrement basée sur Node. Tout d'abord, vous devez démarrer le module serveur. L'objet renvoyé par la fonction createServer dans le module http a une méthode Listen([PORT]) pour écouter le port. Les paramètres de cette fonction sont très étranges, c'est une définition de fonction. En JavaScript, une fonction peut recevoir un paramètre comme une autre fonction. La fonction paramètre est appelée fonction anonyme. La raison de l'utilisation de cette méthode est que le nœud utilise des rappels pilotés par les événements. Lorsque le serveur reçoit une requête en un seul processus, il appellera cette fonction pour gérer la requête. Lorsqu'un événement correspondant se produit, la fonction createServer appelle cette fonction pour rappeler.
Après avoir reçu la demande http, nous traiterons la demande. Tout d’abord, nous proposons de manière abstraite différentes URL et paramètres GET et POST. Deux modules internes URL (URL d'analyse) et Query String (chaîne de requête de traitement) sont utilisés ici. Et ajoutez le module de routeur via l'injection de dépendances. Ensuite, le module de traitement des demandes doit être complété pour finaliser le routage. Toutes les requêtes sont d'abord transmises entre les modules via un objet (handle) et le gestionnaire peut répondre. De manière générale, laissez le gestionnaire de requêtes renvoyer directement (return()) les informations qu'il souhaite afficher à l'utilisateur via la fonction onRequest. Cependant, effectuer des opérations de blocage prend beaucoup de temps, nous devons donc utiliser des opérations non bloquantes. Utilisez des rappels en passant des fonctions comme arguments à d'autres fonctions dont le traitement prend du temps. Au lieu de transmettre le contenu au serveur, cette fois nous « transmettons » le contenu du serveur. Il s'agit de transmettre l'objet de réponse (obtenu à partir de la fonction de rappel du serveur onRequest()) en tant que paramètre de fonction au gestionnaire via le routage. De cette façon, le gestionnaire peut appeler des fonctions sur l'objet.
Passez ensuite à l'étape de traitement, téléchargez l'image via le formulaire, ici le package de dépendances externes formidable est utilisé pour recevoir l'image. Ce module est utilisé pour traiter les formulaires et télécharger des fichiers. Utilisez d’abord var form = new formidable.IncomingForm(); pour obtenir un objet de formulaire. La méthode d'analyse de cet objet peut analyser et traiter les données du formulaire. Nous sauvegardons simplement le fichier. Le module fs est utilisé pour enregistrer des fichiers. Spécifiez l'emplacement de sauvegarde via la méthode rename et utilisez la méthode de synchronisation renameSync() pour que le comportement d'enregistrement du fichier précède le comportement d'affichage de l'image.
L'affichage des images est très simple. Lisez le fichier via la méthode readFile de fs et utilisez Response.write(file, "binary") dans sa fonction de rappel pour afficher l'image dans le navigateur.
Pour résumer : grâce à cette routine, nous avons découvert les fonctionnalités de node.js, telles que le monothread, l'asynchrone, le piloté par événements, etc. Certains de ces concepts abstraits sont également démontrés au travers de routines, mais doivent être compris en profondeur. Apprendre par des routines signifie que vous devez rechercher des informations lorsque vous ne comprenez pas. Cette méthode d'apprentissage est également une bonne méthode d'entrée-personne-sortie.