0Pricing
TypeScript Academy · 课时

环境声明(.d.ts)与第三方类型定义

在 .d.ts 文件中编写环境声明来描述全局对象和模块;安全地安装和使用第三方类型定义。

环境声明(.d.ts)与第三方类型定义 是 CoddyKit 上的免费 TypeScript Academy 课时。 这是第 2 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 TypeScript Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 TypeScript Academy 课程共包含 3 节课。

简介

目标:在 .d.ts 文件中使用环境声明描述外部 JavaScript,并为缺少类型的库使用第三方类型声明。

全局声明

globals.d.ts:声明全局变量并扩展环境接口(例如 Window),而不会生成 JS。

// file: globals.d.ts
// Declare global variables and interfaces
declare const VERSION: string;
declare interface Window {
  appReady?: boolean;
}

带接收者的 Lambda 基础

  • 接收者 = Lambda 内部使用的构建器实例。
  • 调用更简洁:使用项目(“茶”),而不是builder.item。
  • 名称保持简短,操作含义保持清晰。

模块声明

模块声明用于描述不提供类型的包。现在,import { coolify }可以正确通过类型检查。

// file: cool-lib.d.ts
// Provide types for an untyped JS module
declare module "cool-lib" {
  export function coolify(s: string): string;
  export const version: string;
}

模块增强

模块增强可以扩展已安装的类型声明,例如向现有接口添加自定义属性。

// file: react-augment.d.ts
// Extend an existing module (augmentation)
declare module "react" {
  interface HTMLAttributes<T> {
    dataTestId?: string;
  }
}

第三方类型声明

当库不提供类型时,优先使用 DefinitelyTyped 提供的 @types/ 包。它们只会向您的构建中添加 .d.ts 文件。

// install: npm i -D @types/lodash
// usage:
import _ from "lodash";
const r = _.chunk([1,2,3,4], 2);

提示与解析

提示:

  • 将您的 .d.ts 放在src/ 下,或通过 tsconfig.json(include/typeRoots/types)将其纳入。
  • 使用模块增强进行扩展,避免编辑 node_modules。
  • 避免使用范围过宽的 any;请指定准确且最小的结构。

环境声明检查

快速检查:环境声明有什么用途?

回顾

回顾:使用 .d.ts 文件声明全局变量和模块,优先使用 @types 获取社区类型声明,并通过模块增强安全地进行扩展。

回顾

回顾:为每个代码块使用带类型的接收者,添加@DslMarker以确保作用域安全,并返回不可变模型,以便简洁地使用。

常见问题解答

「环境声明(.d.ts)与第三方类型定义」课时是免费的吗?

是的 — 「环境声明(.d.ts)与第三方类型定义」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 TypeScript Academy 课程的其余内容,请升级到 CoddyKit PRO。 TypeScript Academy 课程共包含 3 节课。

「环境声明(.d.ts)与第三方类型定义」这节课中我会学到什么?

在 .d.ts 文件中编写环境声明来描述全局对象和模块;安全地安装和使用第三方类型定义。 你通过在浏览器中直接运行的动手代码来练习 TypeScript Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 TypeScript Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 TypeScript Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 3 节。

「环境声明(.d.ts)与第三方类型定义」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 TypeScript Academy 课中编写并运行代码吗?

能。每节 TypeScript Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. ES 模块(命名导出与默认导出)及重新导出
  2. 环境声明(.d.ts)与第三方类型定义
  3. 路径映射与模块解析
← 返回 TypeScript Academy