Skip to content

Bun prend nativement en charge les importations .yaml et .yml.

yaml
database:
  host: localhost
  port: 5432
  name: myapp

server:
  port: 3000
  timeout: 30

features:
  auth: true
  rateLimit: true

Importez le fichier comme n'importe quel autre fichier source.

ts
import config from "./config.yaml";

config.database.host; // => "localhost"
config.server.port; // => 3000
config.features.auth; // => true

Vous pouvez également utiliser des importations nommées pour déstructurer les propriétés de premier niveau :

ts
import { database, server, features } from "./config.yaml";

console.log(database.name); // => "myapp"
console.log(server.timeout); // => 30
console.log(features.rateLimit); // => true

Bun prend également en charge la syntaxe des attributs d'importation :

ts
import config from "./config.yaml" with { type: "yaml" };

config.database.port; // => 5432

Pour analyser des chaînes YAML au moment de l'exécution, utilisez Bun.YAML.parse() :

ts
const 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"]

Prise en charge de TypeScript

Pour ajouter la prise en charge de TypeScript pour vos importations YAML, créez un fichier de déclaration avec .d.ts ajouté au nom de fichier YAML (par exemple, config.yamlconfig.yaml.d.ts) :

ts
const contents: {
  database: {
    host: string;
    port: number;
    name: string;
  };
  server: {
    port: number;
    timeout: number;
  };
  features: {
    auth: boolean;
    rateLimit: boolean;
  };
};

export = contents;

Consultez Docs > API > YAML pour la documentation complète sur la prise en charge de YAML dans Bun.

Bun édité par www.bunjs.com.cn