Rsbuild supports importing JSON files in code, and also supports importing YAML and TOML files, converting them to JSON format.
You can import JSON files directly in JavaScript files.
{
"name": "foo",
"items": [1, 2]
}import example from './example.json';
console.log(example.name); // 'foo';
console.log(example.items); // [1, 2];Rsbuild also supports importing JSON files using named imports:
import { name } from './example.json';
console.log(name); // 'foo';YAML is a data serialization language commonly used for writing configuration files.
Rsbuild provides the @rsbuild/plugin-yaml. After registering the plugin, you can import .yaml or .yml files in JavaScript and they will be automatically converted to JavaScript objects.
import { pluginYaml } from '@rsbuild/plugin-yaml';
export default {
plugins: [pluginYaml()],
};---
hello: world
foo:
bar: bazimport example from './example.yaml';
console.log(example.hello); // 'world';
console.log(example.foo); // { bar: 'baz' };TOML is a semantically explicit, easy-to-read configuration file format.
Rsbuild provides the @rsbuild/plugin-toml. After registering the plugin, you can import .toml files in JavaScript and it will be automatically converted to JavaScript objects.
import { pluginToml } from '@rsbuild/plugin-toml';
export default {
plugins: [pluginToml()],
};hello = "world"
[foo]
bar = "baz"import example from './example.toml';
console.log(example.hello); // 'world';
console.log(example.foo); // { bar: 'baz' };When you import YAML or TOML files in TypeScript code, please create a src/env.d.ts file in your project and add the corresponding type declarations.
@rsbuild/core package is installed, you can reference the preset types provided by @rsbuild/core:/// <reference types="@rsbuild/core/types" />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;
}