Maison >interface Web >js tutoriel >Explication détaillée de l'utilisation du module Node module
Cette fois, je vais vous apporter une explication détaillée de l'utilisation du module Node. Quelles sont les précautions lors de l'utilisation du module Node. Ce qui suit est un cas pratique, jetons un coup d'œil.
Lors du développement d'applications Web complexes, il est généralement nécessaire de diviser et d'encapsuler chaque fonction dans différents fichiers et de référencer le fichier si nécessaire, c'est-à-dire d'effectuer la modularisation gestion du code. Presque tous les langages de programmation ont leurs propres méthodes d'organisation des modules, telles que les packages en Java et les assemblys en C#, tandis que Node adopte la spécification de module CommonJS.
Spécification du module
CommonJS vise à standardiser le JS qui s'exécute en dehors du navigateur et a résolu un grand nombre de problèmes JS (tels que la dénomination globale conflits). Dans l'implémentation Node de CommonJS, chaque module sera encapsulé dans un fichier JS distinct, c'est-à-dire qu'un fichier est un module et le chemin du fichier est le nom du module. Lors de l'écriture de chaque module, les trois variables prédéfinies suivantes sont disponibles :
require()
Cette fonction permet de charger et d'utiliser d'autres modules dans le module actuel, en transmettant un nom de module et en renvoyant un objet d'exportation de module. Le nom du module peut utiliser un chemin relatif (commençant par ./) ou un chemin absolu (commençant par / ou une lettre de lecteur telle que C :). De plus, l'extension .js dans le nom du module peut être omise. À ce stade, Node recherchera un dossier du même nom. S'il est introuvable, il recherchera un fichier js du même nom. Vous pouvez également utiliser cette fonction pour charger et utiliser un fichier JSON, mais l'extension .json ne peut pas être omise.
exports
Cet objet est l'objet d'exportation du module actuel et est utilisé pour exporter les méthodes et propriétés publiques du module. Il est par défaut un objet vide {}. Lorsque d'autres modules utilisent le module actuel via la fonction require(), ils obtiennent l'objet exports du module actuel. Une méthode publique est exportée dans le code suivant :
exports.hello = function() { console.log("Hello World!"); };
module
Cet objet est utilisé pour fournir des métadonnées et d'autres informations associées du module actuel, mais le le plus utile Remplace l'objet d'exportation du module actuel par son attribut exports. Par exemple, l'objet d'exportation du module est un objet normal par défaut. Vous pouvez utiliser la méthode suivante pour le transformer en fonction :
module.exports = function() { console.log("Hello World!"); };
Remarque : lorsque vous utilisez la méthode ci-dessus, toutes les modifications apportées à l'objet d'exportation. sera ignoré !
Initialisation du module
Le code JS dans un module n'est exécuté qu'une seule fois lors de la première utilisation du module, et est initialisé lors exécution L'objet exporté du module. Ultérieurement, l'objet d'exportation mis en cache est réutilisé.
Définir un module dans test.js
//定义私有变量 var name = ""; function setName(n) { name = n; } function logName() { console.log(name); } //导出公有方法 exports.setName = setName; exports.logName = logName;
Charger le module de test dans main
//加载test模块 var test1 = require("./test.js"), test2 = require("./test.js"); //使用test1 test1.setName("Neo"); //使用test2 test2.logName(); //Neo
Il est visible que peu importe le nombre de fois require() est appelé, pour le même Le module n'est chargé qu'une seule fois et la même instance est obtenue en la référençant plusieurs fois.
Module principal
Le module transmis à Node via les paramètres de ligne de commande pour démarrer le programme est appelé module principal. Le module principal est responsable. pour planifier et composer l'ensemble de l'application. D'autres modules du programme fonctionnent ensemble. Par exemple, lors du démarrage du programme via la ligne de commande suivante, main.js est le module principal :
$ node main.js
Module binaire
Node peut utiliser JS en plus. Lors de l'écriture de modules, il est également pris en charge d'utiliser C/C++ pour écrire des modules binaires. Les modules binaires compilés peuvent être utilisés de la même manière que les modules JS, sauf que l'extension de fichier est .node. Bien que les modules binaires puissent utiliser toutes les fonctions fournies par le système d'exploitation, ils sont difficiles à utiliser sur toutes les plateformes.
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Déduplication JS et optimisation des tableaux numériques
Explication détaillée des étapes pour introduire globalement les basses. scss dans Vue
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!