Les modules dans Node.js peuvent obtenir des références de modules via des chemins ou des noms de fichiers. La référence du module sera mappée sur un chemin de fichier js, sauf s'il s'agit d'un module intégré Node. Les modules intégrés de Node exposent aux développeurs certaines API couramment utilisées et ils sont préchargés au démarrage du processus Node.
D'autres, tels que les modules tiers ou les modules locaux installés via NPM, chaque module exposera une API publique. Pour que les développeurs puissent l'importer. Par exemple, après l'exécution de
var mod = require('module_name')
, Node chargera les modules intégrés ou les modules installés via NPM. La fonction require renvoie un objet. L'API exposée par l'objet peut être une fonction, un objet ou un attribut tel qu'une fonction, un tableau ou même tout type d'objet JS.
Voici les mécanismes de chargement et de mise en cache des modules de nœuds
1) Charger le module intégré (A Core Module)
2) Charger le module de fichiers (A File Module)
3) Chargez le module de répertoire de fichiers (A Folder Module)
4) Chargez le module dans node_modules
5) Mettez automatiquement en cache le module chargé
1 Chargez le module intégré<🎜. >
Les modules intégrés de Node sont compilés sous forme binaire et sont référencés directement par leur nom au lieu du chemin du fichier. Lorsqu'un module tiers porte le même nom qu'un module intégré, le module intégré écrasera le module tiers portant le même nom. Par conséquent, lors de la dénomination, vous devez faire attention à ne pas avoir le même nom que celui du module intégré. Par exemple, si vous obtenez un module httpvar http = require('http')
var myMod = require('/home/base/my_mod')
var myMod = require('./my_mod')
var myMod = require('./my_mod') var myMod = require('./my_mod.js')
var myMod = require('./folder')
{ "name": "pack", "main": "modA.js" }
console.log('模块modA开始加载...') exports = function() { console.log('Hi') } console.log('模块modA加载完毕')
var mod1 = require('./modA') var mod2 = require('./modA') console.log(mod1 === mod2)
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!