Installing a Vite or Rollup plugin
Astro builds on top of Vite, and supports both Vite and Rollup plugins. This recipe uses a Rollup plugin to add the ability to import a YAML (.yml
) file in Astro.
Recipe
- Install
@rollup/plugin-yaml
:
npm install @rollup/plugin-yaml --save-dev
pnpm add @rollup/plugin-yaml --save-dev
yarn add @rollup/plugin-yaml --save-dev
-
Import the plugin in your
astro.config.mjs
and add it to the Vite plugins array:astro.config.mjs import { defineConfig } from 'astro/config';import yaml from '@rollup/plugin-yaml';export default defineConfig({vite: {plugins: [yaml()]}}); -
Finally, you can import YAML data using an
import
statement:import yml from './data.yml';While you can now import YAML data in your Astro project, your editor will not provide types for the imported data. To add types, create or find an existing
*.d.ts
file in thesrc
directory of your project and add the following:src/files.d.ts // Specify the file extension you want to importdeclare module "*.yml" {const value: any; // Add type definitions here if desiredexport default value;}This will allow your editor to provide type hints for your YAML data.