ExportingImporting 声明

任何声明(变量,const,函数,类等)都可以从模块导出,以便在其他模块中导入。

Typescript 提供两种导出类型:命名和默认。

命名出口

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

导入命名导出时,可以指定要导入的元素。

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

默认导出

每个模块可以有一个默认导出

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

可以使用导入

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

绑定导入

Typescript 提供了将整个模块导入变量的方法

// 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