Recherche…


Bonjour tout le monde

//hello.ts
export function hello(name: string){
    console.log(`Hello ${name}!`);
} 
function helloES(name: string){
    console.log(`Hola ${name}!`);
}
export {helloES};
export default hello;

Charger à l'aide de l'index du répertoire

Si le répertoire contient le fichier nommé index.ts il peut être chargé en utilisant uniquement le nom du répertoire (pour le fichier index.ts fichier est facultatif).

//welcome/index.ts
export function welcome(name: string){
    console.log(`Welcome ${name}!`);
}

Exemple d'utilisation de modules définis

import {hello, helloES} from "./hello";  // load specified elements
import defaultHello from "./hello";      // load default export into name defaultHello
import * as Bundle from "./hello";       // load all exports as Bundle
import {welcome} from "./welcome";       // note index.ts is omitted

hello("World");                          // Hello World!
helloES("Mundo");                        // Hola Mundo!
defaultHello("World");                   // Hello World!

Bundle.hello("World");                   // Hello World!
Bundle.helloES("Mundo");                 // Hola Mundo!

welcome("Human");                        // Welcome Human!

Exportation / importation de déclarations

Toute déclaration (variable, const, fonction, classe, etc.) peut être exportée à partir du module à importer dans un autre module.

Typecript offre deux types d'export: nommé et default.

Exportation nommée

// adams.ts
export function hello(name: string){
    console.log(`Hello ${name}!`);
}
export const answerToLifeTheUniverseAndEverything = 42;
export const unused = 0;

Lors de l'importation d'exportations nommées, vous pouvez spécifier les éléments à importer.

import {hello, answerToLifeTheUniverseAndEverything} from "./adams";
hello(answerToLifeTheUniverseAndEverything);   // Hello 42!

Export par défaut

Chaque module peut avoir une exportation par défaut

// dent.ts
const defaultValue = 54;
export default defaultValue;

qui peuvent être importés en utilisant

import dentValue from "./dent";
console.log(dentValue);        // 54

Importation groupée

Typecript propose une méthode pour importer un module entier dans une variable

// adams.ts
export function hello(name: string){
    console.log(`Hello ${name}!`);
}
export const answerToLifeTheUniverseAndEverything = 42;
import * as Bundle from "./adams";
Bundle.hello(Bundle.answerToLifeTheUniverseAndEverything);  // Hello 42!
console.log(Bundle.unused);                                 // 0

Réexporter

Les caractères dactylographiés permettent de réexporter les déclarations.

//Operator.ts
interface Operator {
    eval(a: number, b: number): number;
}
export default Operator;
//Add.ts
import Operator from "./Operator";
export class Add implements Operator {
    eval(a: number, b: number): number {
        return a + b;
    }
}
//Mul.ts
import Operator from "./Operator";
export class Mul implements Operator {
    eval(a: number, b: number): number {
        return a * b;
    }
}

Vous pouvez regrouper toutes les opérations dans une seule bibliothèque

//Operators.ts
import {Add} from "./Add";
import {Mul} from "./Mul";

export {Add, Mul};

Les déclarations nommées peuvent être réexportées en utilisant une syntaxe plus courte

//NamedOperators.ts
export {Add} from "./Add";
export {Mul} from "./Mul";

Les exportations par défaut peuvent également être exportées, mais aucune syntaxe courte n'est disponible. N'oubliez pas qu'une seule exportation par défaut par module est possible.

//Calculator.ts
export {Add} from "./Add";
export {Mul} from "./Mul";
import Operator from "./Operator";

export default Operator;

Possible est la réexportation de l' importation groupée

//RepackedCalculator.ts
export * from "./Operators";

Lors de la réexportation d'un ensemble, les déclarations peuvent être remplacées lorsqu'elles sont déclarées explicitement.

//FixedCalculator.ts
export * from "./Calculator"
import Operator from "./Calculator";
export class Add implements Operator {
    eval(a: number, b: number): number {
        return 42;
    }
}

Exemple d'utilisation

//run.ts
import {Add, Mul} from "./FixedCalculator";

const add = new Add();
const mul = new Mul();

console.log(add.eval(1, 1)); // 42
console.log(mul.eval(3, 4)); // 12


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow