Imaginez que vous ayez un fichier index.js dans votre projet NodeJS dans lequel vous avez utilisé cinq fonctions. Cependant, deux de ces fonctions peuvent également être utilisées dans d'autres fichiers. Ainsi, au lieu d'un fichier, vous créez trois fichiers dans votre projet :
Ici, chacun de ces fichiers Javascript est un module, et la façon d'exporter des classes/fonctions et de les importer est essentiellement le système de modules. Un système de modules nous permet de diviser et d'inclure du code et d'importer du code écrit par nous ou d'autres développeurs chaque fois que nécessaire.
Ces modules ne sont pas seulement les fichiers Javascript qui existent dans votre projet ; il peut également s'agir de n'importe quel package externe que vous avez installé en tant que dépendance dans votre projet. De plus, NodeJS possède des modules intégrés tels que http, fs, etc., qui sont disponibles avec l'installation et peuvent être importés sans ajouter de dépendances externes.
Deux systèmes de modules sont utilisés dans Node.
Vous avez lu l'exemple du chef de cuisine-serveur dans mon blog précédent ; De même, si nous comparons les modules avec cela, imaginez que CommonJS est un vieux gros livre de recettes dont nous avions besoin pour rechercher et trouver une recette, tandis qu'ESM est une nouvelle application numérique pour voir les recettes.
CommonJS (CJS)
// Export module.exports = function SayHello() { console.log("Hello World!"); }; // Import const GetHello = require("./hello-script.js"); SayHello(); // "Hello World!"
Modules ECMAScript (ESM)
// Export export function SayHello() { console.log("Hello World!"); } // Import import { SayHello } from "./hello-script.js"; SayHello();
Différence clé dans la syntaxe :
CJS : module.exports / require
ESM : exporter/importer
{ type: "module"; }
Parfois, vous pouvez utiliser des modules ECMAScript mais un ancien package que vous avez importé est écrit en CommonJS. Pour gérer ces cas, nous nous assurons parfois que le code Javascript de sortie généré à partir du fichier Typescript est au format commun, même si nous avons écrit les fichiers Typescript au format ESM.
Pour cela, nous ajoutons les compilerOptions dans le tsconfig.json de notre projet :
// Export module.exports = function SayHello() { console.log("Hello World!"); }; // Import const GetHello = require("./hello-script.js"); SayHello(); // "Hello World!"
Que se passe-t-il alors :
module : "commonjs" : génère du JavaScript à l'aide du système de modules CommonJS, qui utilise require et module.exports.
target : "es6" : garantit que le JavaScript de sortie utilise la syntaxe ES6 et des fonctionnalités telles que les fonctions let, const et arrow.
Saisir le code Typescript :
// Export export function SayHello() { console.log("Hello World!"); } // Import import { SayHello } from "./hello-script.js"; SayHello();
Code Javascript de sortie :
{ type: "module"; }
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!