Maison >interface Web >js tutoriel >Comment importer un module dans nodejs ? Introduction au processus d'exécution de require
Cet article vous donnera une introduction détaillée au processus d'exécution de require dans nodejs. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.
Je regardais node récemment, j'ai donc délibérément appris le processus d'introduction de ses modules. Aujourd'hui, je vais faire un compte rendu de révision, j'espère que cela vous sera utile qui lisez
Module de base, ou des modules intégrés (c'est-à-dire le propre fs du nœud, http, vm...) Pour plus de détails, veuillez consulter le site officiel api
Tiers modules, ou packages npm auto-emballés pour un usage privé Bibliothèque ou bibliothèque publique (installés et utilisés par npm install sur npm)
Les modules de fichiers, fichiers internes du projet, nécessitent l'utilisation du relatif méthode de chemin ou de chemin absolu
[Apprentissage recommandé : "tutoriel nodejs"]
Mon outil de débogage Utiliser le propre de vscode
1. Lisez le fichier et entrez le mod de retour de la méthode require. .require (chemin)
2. Entrez mod.require et constatez que Module.prototype.require est réellement exécuté (l'identifiant ici est le chemin initial), euh ~ Pourquoi ? Appelé Module._load, ce n'est rien, continuons
3. Entrez Module._load(), Module._load(id, this, /* isMain */ false) Chargez le module selon le chemin
4. Entrez new Module () et créez un objet vide this.exports = {} : C'est l'objet d'exportation que nous souhaitons finalement, (les modules référencés dans d'autres modules ne seront pas étudiés en profondeur ici)
5. Module._cache [nom du fichier] Le chemin analysé à l'étape 3 est utilisé comme clé et l'objet créé à l'étape 4 est utilisé comme valeur et stocké dans notre cache. tableau. continue! !
6. module.load(), entrez la fonction
Ce que j'ai frappé ici, c'est .js. Dans cette méthode, fs.readFileSync est utilisé pour lire le fichier de manière synchrone, puis le module._compile(content, filename) est appelé en tant que paramètres
7. Entrez module._compile() , et j'ai découvert que le contenu était utilisé comme paramètre de wrapSafe(filename, content, this) et exécuté
8. Entrez ensuite wrapSafe() ps : je vais parler du ancienne version ici directement, exécutez C'est plus facile à comprendre
9. À ce stade, le Le processus require d'un module a été exécuté et l'utilisateur l'obtiendra par défaut. Le résultat de retour de module.export
Lire le fichier
Lire le fichier À l'avenir, enveloppez une fonction pour le fichier
Fonction de format de fonction (exports, module, require, _dirname , nom de fichier) {}
Placez le module via runThisContext Transformez-vous en syntaxe js pour appeler
Pour plus de connaissances liées à la programmation, veuillez visiter : Introduction à la programmation ! !
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!