Documentation Index
Fetch the complete documentation index at: https://bun.zhcndoc.com/llms.txt
Use this file to discover all available pages before exploring further.
Bun 原生支持 .yaml 和 .yml 导入。
database:
host: localhost
port: 5432
name: myapp
server:
port: 3000
timeout: 30
features:
auth: true
rateLimit: true
像导入其他源文件一样导入该文件。
config.tsimport config from "./config.yaml";
config.database.host; // => "localhost"
config.server.port; // => 3000
config.features.auth; // => true
你也可以使用具名导入(named imports)来解构顶层属性:
config.tsimport { database, server, features } from "./config.yaml";
console.log(database.name); // => "myapp"
console.log(server.timeout); // => 30
console.log(features.rateLimit); // => true
Bun 还支持 Import Attributes 语法:
config.tsimport config from "./config.yaml" with { type: "yaml" };
config.database.port; // => 5432
要在运行时解析 YAML 字符串,可以使用 Bun.YAML.parse():
config.tsconst yamlString = `
name: John Doe
age: 30
hobbies:
- reading
- coding
`;
const data = Bun.YAML.parse(yamlString);
console.log(data.name); // => "John Doe"
console.log(data.hobbies); // => ["reading", "coding"]
TypeScript 支持
要为你的 YAML 导入添加 TypeScript 支持,创建一个以 .d.ts 结尾的声明文件,文件名与 YAML 文件名对应(例如,config.yaml → config.yaml.d.ts);
config.yaml.d.tsconst contents: {
database: {
host: string;
port: number;
name: string;
};
server: {
port: number;
timeout: number;
};
features: {
auth: boolean;
rateLimit: boolean;
};
};
export = contents;
请参阅 文档 > API > YAML 了解 Bun 中 YAML 支持的完整文档。