Environment Context
Environment context 是一个只读对象,提供一些和当前环境有关的上下文信息。
在 Rsbuild 的 hooks 中,你可以通过 environment
或 environments
入参获取 environment context 对象。
type EnvironmentContext = {
name: string;
browserslist: string[];
config: NormalizedEnvironmentConfig;
distPath: string;
entry: RsbuildEntry;
htmlPaths: Record<string, string>;
tsconfigPath?: string;
};
name
当前环境的唯一名称,用于区分和定位环境,对应于 environments 配置中的 key。
browserslist
项目兼容的目标浏览器范围。详情可参考 设置浏览器范围.
config
归一化后当前环境的 Rsbuild 配置
type NormalizedEnvironmentConfig = DeepReadonly<{
dev: NormalizedDevConfig;
html: NormalizedHtmlConfig;
tools: NormalizedToolsConfig;
source: NormalizedSourceConfig;
server: NormalizedServerConfig;
output: NormalizedOutputConfig;
plugins?: RsbuildPlugins;
security: NormalizedSecurityConfig;
performance: NormalizedPerformanceConfig;
moduleFederation?: ModuleFederationConfig;
}>;
distPath
构建产物输出目录的绝对路径,对应 RsbuildConfig 中的 output.distPath.root 配置项。
entry
构建入口对象,对应 source.entry 选项。
type RsbuildEntry = Record<string, string | string[] | EntryDescription>;
htmlPaths
HTML 产物的路径信息。该 API 会返回一个对象,对象的 key 为 entry 名称,value 为 HTML 文件在产物目录下的相对路径。
type htmlPaths = Record<string, string>;
tsconfigPath
tsconfig.json 文件的绝对路径,若项目中不存在 tsconfig.json 文件,则为 undefined。
type TsconfigPath = string | undefined;