Vite 插件钩子

  • resolveId:自定义模块解析逻辑
  • load:返回模块内容
  • transform:转换代码
  • buildStart/buildEnd:构建生命周期

插件骨架

import { marked } from "marked";

export function markdownPlugin() {
  return {
    name: "vite-plugin-markdown",
    transform(code, id) {
      if (!id.endsWith(".md")) return null;
      const html = marked(code);
      return {
        code: `export default ${JSON.stringify(html)}`,
        map: null
      };
    }
  };
}

使用方式

// vite.config.js
import { markdownPlugin } from "./plugins/markdown";
export default { plugins: [markdownPlugin()] };