Bun

插件

Bun 提供了一个通用的插件 API,可用于扩展运行时打包器

插件拦截导入并执行自定义加载逻辑:读取文件、转换代码等。它们可用于添加对其他文件类型(如 .scss.yaml)的支持。在 Bun 的打包器上下文中,插件可用于实现框架级功能,如 CSS 提取、宏和客户端-服务器代码并置。

有关插件 API 的更完整文档,请参阅 运行时 > 插件

用法

插件被定义为包含 name 属性和 setup 函数的简单 JavaScript 对象。使用 plugin 函数向 Bun 注册插件。

myPlugin.ts
import type { BunPlugin } from "bun";

const myPlugin: BunPlugin = {
  name: "Custom loader",
  setup(build) {
    // implementation
  },
};

调用 Bun.build 时,此插件可以传递到 plugins 数组中。

Bun.build({
  entrypoints: ["./app.ts"],
  outdir: "./out",
  plugins: [myPlugin],
});