Maison  >  Article  >  interface Web  >  Qu’est-ce que CommonJS ? Comment personnaliser les modules dans Nodejs ?

Qu’est-ce que CommonJS ? Comment personnaliser les modules dans Nodejs ?

藏色散人
藏色散人avant
2022-08-08 14:22:182148parcourir

1. Qu'est-ce que CommonJs ?

JavaScript est un langage orienté objet puissant avec de nombreux interpréteurs rapides et efficaces. Cependant, la norme JavaScript définit des API pour créer des applications basées sur un navigateur. Il n’existe pas de bibliothèque standard développée pour une plus large gamme d’applications. La spécification CommonJS a été proposée principalement pour combler les lacunes du manque actuel de normes JavaScript. Son objectif ultime est de fournir une bibliothèque standard pour les langages similaires à Python, Ruby et Java, plutôt que de rester au stade de petits programmes de script. Les applications écrites avec l'API CommonJS peuvent non seulement utiliser JavaScript pour développer des applications client, mais également écrire les applications suivantes.

  • Applications JavaScript côté serveur. (nodejs)
  • Outil de ligne de commande.
  • Application GUI de bureau.

CommonJS est le standard de modularisation, et nodejs est l'implémentation de CommonJS (modularisation).

2. Modularisation dans Nodejs

Les applications de nœuds sont composées de modules et adoptent la spécification du module CommonJS.

2.1 Dans Node, les modules sont divisés en deux catégories :

Un type est le module fourni par Node, appelé module principal ; l'autre type est le module écrit par l'utilisateur, appelé module de fichier.

  • La partie principale du module est compilée dans le fichier d'exécution binaire pendant le processus de compilation du code source de Node. Lorsque le processus Node démarre, certains modules principaux sont chargés directement dans la mémoire. Par conséquent, lorsque cette partie du module principal est introduite, les deux étapes de localisation, de compilation et d'exécution du fichier peuvent être omises et la priorité est déterminée dans l'analyse du chemin. , donc son chargement La vitesse est la plus rapide. Par exemple : le module HTTP, le module URL et le module Fs sont tous des modules de base intégrés de nodejs et peuvent être directement introduits et utilisés.
  • Le module de fichiers est chargé dynamiquement au moment de l'exécution et nécessite une analyse complète du chemin, l'emplacement du fichier, la compilation et le processus d'exécution. La vitesse est légèrement plus lente que celle du module principal, mais il est beaucoup utilisé. Ces modules doivent être définis par nous-mêmes. Nous examinons ensuite les modules personnalisés dans nodejs.

2.2 Les dispositions des modules personnalisés dans CommonJS (Nodejs) :

  • 1 Nous pouvons extraire les fonctions publiques dans un fichier js séparé en tant que module. Par défaut, les méthodes ou attributs de ce module sont à l'extérieur. Il est inaccessible. . Si vous souhaitez que le monde extérieur accède aux méthodes ou propriétés du module, vous devez exposer les propriétés ou méthodes du module via exports ou module.exports.
  • 2. Dans les fichiers qui doivent utiliser ces modules, introduisez ce module via require. À ce stade, vous pouvez utiliser les propriétés et méthodes exposées dans le module.

2.3 Définissez le module à utiliser :

// 定义一个 tools.js 的模块
//模块定义
var tools = {
sayHello: function() {
return 'hello NodeJS';
},
add: function(x, y) {
return x + y;
}
};
// 模块接口的暴露
// module.exports = tools;
exports.sayHello = tools.sayHello;
exports.add = tools.add;
1
2
3
4
var http = require('http');
// 引入自定义的 tools.js 模块
var tools= require('./tools');
tools.sayHello(); //使用模块

3 npm init génère package.json

npm init --yes

[Recommandé : tutoriel vidéo Node.js]

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer