Dans la norme ECMAscrip{filtering}t 2015, Javascrip{filtering}t ajoute le concept de modules. Typescrip{filter}t suit également ce concept.
1. Importation et exportation de modules
Les modules sont exécutés dans leur propre champ d’application, et non dans le champ global ; Cela signifie que les variables, fonctions, classes, etc. définies dans un module ne sont pas visibles en dehors du module à moins que vous ne les exportiez explicitement via l’une des exportations. En revanche, si vous souhaitez utiliser des variables, fonctions, classes, interfaces, etc. exportées depuis d’autres modules, vous devez les importer, en utilisant l’un des imports.
Les modules sont auto-déclarés. Dans Typescrip{filter}t, la relation entre les deux modules est établie en utilisant l’import et l’export au niveau du fichier. Voici un exemple de base :
animal.ts
app.ts
Dans l’exemple ci-dessus, un Animal-like est déclaré dans le animal.ts et exporté via l’exportation. Dans le app.ts, spécifiez le chemin relatif du fichier et importez-le via l’import pour utiliser la classe Animal.
Parce que Javascrip{filter}t propose deux méthodes de référence de modules différentes, lors de la compilation vers Javascrip{filter}t, vous pouvez spécifier la méthode de référence du module compilé via le fichier de configuration Typescrip{filtering}t tsconfig.json
Voici le contenu du fichier Javascrip{filter}t compilé de différentes manières
Commonjs
AMD
2. Renommage de l’importation et de l’exportation
Le nom de l’objet interne utilisé par défaut lors de l’importation et de l’exportation de modules. Typescrip{filter}t prend également en charge le renommage avant et après l’exportation. Modifiez l’exemple ci-dessus
animal.ts
app.ts
Lors de l’importation et de l’exportation, les modules sont renommés en utilisant le mot-clé as.
Une chose à noter ici est que lorsque le module exporté est renommé, le nom du module avant l’importation doit être le même que celui exporté, sinon le compilateur affichera un message d’erreur. Par exemple, si le module exporté est renommé ANI, le nom du module avant le mot-clé as doit être ANI lors de l’importation de ce module dans un autre fichier app.ts.
Sinon, si vous ne connaissez pas le nom du module importé, vous pouvez le remplacer par un signe *
Dans l’exemple ci-dessus, si vous renommez tous les modules remplacés par le signe * en animal_module, vous pouvez accéder à tout le contenu exporté du module via animal_module’objet.
3. Exporter et exporter plusieurs objets
Normalement, plusieurs types d’objets sont définis dans le module puis exportés ensemble. Il peut également y avoir plusieurs modules dans l’importation
animal.ts
app.ts
Lors de l’exportation, vous pouvez réassembler l’objet type que vous souhaitez exporter en objet JSON puis l’exporter. Une fois importé, le contenu peut être consulté via des objets de module renommés.
4. Exportation par défaut
Il ne peut y avoir qu’une seule exportation par défaut pour un module
animal.ts
app.ts
Dans l’exemple ci-dessus, la classe Animal est exportée en utilisant le mot-clé par défaut. Contrairement aux importations normales, lors de l’importation de modules d’exportation par défaut, vous pouvez spécifier directement le nom du module importé sans l’encadrer entre entre entre crochets avec {}.
5. Module de chargement dynamique
Parce que dans Javascrip{filter}t, il y a deux façons de charger les modules : CommonJS et AMD. Lorsque vous utilisez Typescrip{filter}t, vous devez écrire un code différent selon le contenu de configuration de la compilation finale pour générer Javascrip{filter}t.
Fichier animal.ts
Référence de la méthode CommonJS :
app.ts
Citation de la méthode AMD :
app.ts
|