@unifast/vite

Plugin Vite cho unifast — biến đổi các file Markdown và MDX thành module JS

Tổng quan

@unifast/vite là một plugin Vite biến đổi các file .md.mdx thành các module JavaScript. Nó tích hợp trình biên dịch Markdown/MDX của unifast vào pipeline build của Vite, cho phép bạn import trực tiếp các file Markdown trong ứng dụng của mình.

Cài đặt

@unifast/node là một peer dependency (tùy chọn) — khi có sẵn, plugin sẽ sử dụng trình biên dịch Rust native để đạt hiệu năng tối đa. Không có nó, các file .md sẽ fallback sang render HTML cơ bản, còn các file .mdx thì bắt buộc phải có.

Bắt đầu nhanh

// vite.config.ts
import { defineConfig } from "vite";
import unifast from "@unifast/vite";

export default defineConfig({
  plugins: [
    unifast({
      md: {
        // compile options for .md files
      },
      mdx: {
        // compile options for .mdx files
      },
    }),
  ],
});
// App.tsx
import doc from "./content/hello.md";

console.log(doc.html);         // compiled HTML string
console.log(doc.frontmatter);  // parsed frontmatter object
console.log(doc.toc);          // table of contents entries

Các export của module

File .md

Mỗi file .md được biến đổi thành một module với các export sau:

ExportKiểuMô tả
htmlstringChuỗi HTML đã được biên dịch
frontmatterRecord<string, unknown>Metadata frontmatter đã được parse
tocTocEntry[]Mục lục đã được trích xuất
defaultobjectĐối tượng chứa html, frontmattertoc

File .mdx

Mỗi file .mdx được biên dịch thành một module JSX sử dụng jsx-runtime của React. Nó export một React component mặc định cùng với frontmattertoc.

Tổng hợp các export

ExportLoạiMô tả
default (unifastPlugin)functionFactory của plugin Vite
UnifastPluginOptionstypeInterface các tùy chọn của plugin