Rsbuild Types

本章节描述了 Rsbuild 提供的一些类型定义。

RsbuildInstance

Rsbuild 实例的类型,对应 createRsbuild 方法的返回值。

import type { RsbuildInstance } from '@rsbuild/core';

let rsbuild: RsbuildInstance;

RsbuildConfig

Rsbuild 配置的类型。

import type { RsbuildConfig } from '@rsbuild/core';

const config: RsbuildConfig = {
  // ...
};

你也可以引用 Rsbuild 配置中各个字段的类型定义:

import type {
  DevConfig,
  HtmlConfig,
  ToolsConfig,
  SourceConfig,
  ServerConfig,
  OutputConfig,
  SecurityConfig,
  PerformanceConfig,
  ModuleFederationConfig,
} from '@rsbuild/core';

NormalizedConfig

Rsbuild 配置归一化后的类型,对应 getNormalizedConfig 方法的返回值。

import type { NormalizedConfig } from '@rsbuild/core';

const config: NormalizedConfig = api.getNormalizedConfig();

你也可以引用归一化后的 Rsbuild 配置中各个字段的类型定义:

import type {
  NormalizedDevConfig,
  NormalizedHtmlConfig,
  NormalizedToolsConfig,
  NormalizedSourceConfig,
  NormalizedServerConfig,
  NormalizedOutputConfig,
  NormalizedSecurityConfig,
  NormalizedPerformanceConfig,
  NormalizedModuleFederationConfig,
} from '@rsbuild/core';

RsbuildContext

Rsbuild 实例中 context 属性的类型定义。

import type { RsbuildContext } from '@rsbuild/core';

const context: RsbuildContext = rsbuild.context;

RsbuildPlugin

Rsbuild 插件的类型。

import type { RsbuildPlugin } from '@rsbuild/core';

const myPlugin: RsbuildPlugin = {
  name: 'my-plugin',
  setup() {},
};

RsbuildPluginAPI

Rsbuild 插件中,setup 函数传入的 api 对象的类型。

import type { RsbuildPluginAPI } from '@rsbuild/core';

const myPlugin = {
  name: 'my-plugin',
  setup(api: RsbuildPluginAPI) {},
};

RsbuildTarget

Rsbuild 构建产物的类型。

import type { RsbuildTarget } from '@rsbuild/core';

CreateRsbuildOptions

createRsbuild 方法的入参类型。

import type { CreateRsbuildOptions } from '@rsbuild/core';

InspectConfigOptions

rsbuild.inspectConfig 方法的入参类型。

import type { InspectConfigOptions } from '@rsbuild/core';

Rspack

包含 @rspack/core 导出的所有类型,比如 Rspack.Configuration

import type { Rspack } from '@rsbuild/core';

const rspackConfig: Rspack.Configuration = {};

Others

  • OnExitFn
  • OnAfterBuildFn
  • OnAfterCreateCompilerFn
  • OnAfterStartDevServerFn
  • OnAfterStartProdServerFn
  • OnBeforeBuildFn
  • OnBeforeStartDevServerFn
  • OnBeforeStartProdServerFn
  • OnBeforeCreateCompilerFn
  • OnCloseDevServerFn
  • OnDevCompileDoneFn
  • ModifyRsbuildConfigFn
  • ModifyBundlerChainFn
  • ModifyRspackConfigFn
  • TransformFn,
  • TransformHandler
  • more...