Bun 提供了通用的插件 API,可用于扩展运行时和打包工具。
插件可以拦截导入并执行自定义加载逻辑,例如读取文件、转译代码等。它们可以用于添加对其他文件类型的支持,比如.scss或.yaml。在 Bun 打包工具的上下文中,插件可用于实现框架级功能,如 CSS 提取、宏和客户端-服务器代码共存。
有关 Plugin API 的更完整文档,请参阅运行时 > 插件。
用法
一个插件被定义为一个简单的 JavaScript 对象,包含一个name属性和一个setup函数。使用plugin函数将插件注册到 Bun 中。
import type { BunPlugin } from "bun";
const myPlugin: BunPlugin = {
name: "Custom loader",
setup(build) {
// 实现
},
};
可以在调用Bun.build时将此插件传递到plugins数组中。
Bun.build({
entrypoints: ["./app.ts"],
outdir: "./out",
plugins: [myPlugin],
});