Bun 提供了一个通用的插件 API,可用于扩展运行时和打包器。
插件拦截导入并执行自定义加载逻辑:读取文件、转换代码等。它们可用于添加对其他文件类型(如 .scss
或 .yaml
)的支持。在 Bun 的打包器上下文中,插件可用于实现框架级功能,如 CSS 提取、宏和客户端-服务器代码并置。
有关插件 API 的更完整文档,请参阅 运行时 > 插件。
用法
插件被定义为包含 name
属性和 setup
函数的简单 JavaScript 对象。使用 plugin
函数向 Bun 注册插件。
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],
});