TypeScript 第十二节:模块

2023-12-13 08:26:33

?一、模块

TypeScript 模块是一组相关的函数、类、变量、接口等实体的封装单元。它们可以被导入到其他代码文件中,以便在这些文件中使用其中的实体。模块化是一种组织和管理代码的方式,它可以帮助我们更容易地维护和重构代码。

TypeScript 支持多种模块化方案,包括 CommonJS、AMD、ES6 等,可以根据具体的应用场景选择合适的模块化方案。TypeScript 模块的语法和 JavaScript 模块的语法非常相似,可以使用 import export 关键字进行模块的导入和导出。

?TypeScript 模块化的优点是可以让代码更加模块化和可维护,同时还能避免命名冲突等问题。

?1、简单示例

例如:在一个名为 "myModule" 的模块中,我们可以定义一个名为 "myFunction" 的函数,并导出它,使其在其他模块中可用:

export function myFunction() {
  console.log("hello world");
}

在另一个模块中,我们可以导入这个函数并使用它:

import { myFunction } from './myModule';

myFunction(); // 输出 "hello world"

?

?2、更多示例

当您在 TypeScript 中使用模块时,您可以使用以下语法:

// export a function
export function myFunction() {
  console.log('I am a function');
}

// export a class
export class MyClass {
  private myProperty;

  constructor() {
    this.myProperty = 42;
  }

  public myMethod() {
    console.log('My property value is:', this.myProperty);
  }
}

// import a function or a class
import { myFunction, MyClass } from './myModule';

在上面的代码中,我们定义了一个模块 myModule,其中包含一个函数和一个类。我们使用 export 关键字将函数和类暴露给其他模块。我们可以在其他模块中使用 import 关键字导入这些函数和类。注意,我们需要指定模块文件的相对路径。

?

?3、其他特性

除此之外,TypeScript 导出和导入模块的语法还支持以下特性:

  • 默认导出:您可以使用 export default 语法默认导出一个函数、类或其它值。默认导出可以使用不同的语法使用,例如 import myModule from './myModule'

  • 命名空间:在 TypeScript 1.5 版本之前,命名空间用于模块化。命名空间是一个封装器,它将一组相关的函数、类、接口等封装在一个定义中。命名空间可以嵌套在其他命名空间中,以形成逻辑组。

  • 模块路径映射:您可以使用模块路径映射提供一个虚拟路径,使编译器可以查找和引用它。例如,您可以使用 paths 属性在 tsconfig.json 文件中指定路径映射。这样,您就可以使用虚拟路径而不是实际路径来导入模块。

文章来源:https://blog.csdn.net/Sunshine_Jian/article/details/134950265
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。