close
logologo
指南
配置
插件
API
社区
版本
更新日志
Rsbuild 0.x 文档
English
简体中文
指南
配置
插件
API
社区
更新日志
Rsbuild 0.x 文档
English
简体中文
logologo

开始

介绍
快速上手
功能导航
名词解释

框架

React
Vue
Preact
Svelte
Solid

基础

命令行工具
开发服务器
构建产物
静态资源
HTML
JSON
Wasm
TypeScript
Web Workers
部署静态站点
升级 Rsbuild

配置

配置 Rspack
配置 Rsbuild
配置 SWC

样式

CSS
CSS Modules
CSS-in-JS
Tailwind CSS v4
Tailwind CSS v3
UnoCSS

进阶

路径别名
环境变量
模块热更新
浏览器范围
浏览器兼容性
模块联邦
多环境构建
服务端渲染(SSR)
测试

优化

代码拆分
产物体积优化
提升构建性能
静态资源内联

迁移

从 Rsbuild 0.x 迁移
webpack
Create React App
Vue CLI
Vite
Vite 插件
Modern.js Builder

调试

开启调试模式
构建性能分析
使用 Rsdoctor

常见问题

通用类问题
功能类问题
异常类问题
热更新问题
📝 在 GitHub 上编辑此页
上一页HTML
下一页Wasm

#JSON

Rsbuild 支持在代码中引用 JSON 文件,也支持引用 YAML 和 TOML 文件并将其转换为 JSON 格式。

#JSON 文件

你可以直接在 JavaScript 文件中引用 JSON 文件。

#示例

example.json
{
  "name": "foo",
  "items": [1, 2]
}
index.js
import example from './example.json';

console.log(example.name); // 'foo';
console.log(example.items); // [1, 2];

#具名引用

Rsbuild 同样支持通过 named import 来引用 JSON 文件:

import { name } from './example.json';

console.log(name); // 'foo';

#YAML 文件

YAML 是一种数据序列化语言,通常用于编写配置文件。

Rsbuild 提供了 @rsbuild/plugin-yaml,在注册插件后,你可以在 JavaScript 中引用 .yaml 或 .yml 文件,它们会被自动转换为 JavaScript 对象。

rsbuild.config.ts
import { pluginYaml } from '@rsbuild/plugin-yaml';

export default {
  plugins: [pluginYaml()],
};

#示例

example.yaml
---
hello: world
foo:
  bar: baz
import example from './example.yaml';

console.log(example.hello); // 'world';
console.log(example.foo); // { bar: 'baz' };

#TOML 文件

TOML 是一种语义明显、易于阅读的配置文件格式。

Rsbuild 提供了 @rsbuild/plugin-toml,在注册插件后,你可以在 JavaScript 中引用 .toml 文件,它会被自动转换为 JavaScript 对象。

rsbuild.config.ts
import { pluginToml } from '@rsbuild/plugin-toml';

export default {
  plugins: [pluginToml()],
};

#示例

example.toml
hello = "world"

[foo]
bar = "baz"
import example from './example.toml';

console.log(example.hello); // 'world';
console.log(example.foo); // { bar: 'baz' };

#类型声明

当你在 TypeScript 代码中引用 YAML 或 TOML 文件时,请在项目中创建 src/env.d.ts 文件,并添加相应的类型声明。

  • 方法一:如果项目里安装了 @rsbuild/core 包,你可以直接引用 @rsbuild/core 提供的 预设类型:
src/env.d.ts
/// <reference types="@rsbuild/core/types" />
  • 方法二:手动添加需要的类型声明:
src/env.d.ts
declare module '*.yaml' {
  const content: Record<string, any>;
  export default content;
}
declare module '*.yml' {
  const content: Record<string, any>;
  export default content;
}
declare module '*.toml' {
  const content: Record<string, any>;
  export default content;
}