Bun 1.0 发布了第 4 个补丁更新:1.0.4。
Bun 是速度极快的 JavaScript 运行时,采用 Zig 编写,集打包器、转译器和包管理器于一身。
此版本修复了 62 个错误,添加了server.requestIP
,支持运行时插件中的虚拟模块,并降低了Bun.serve()
中的内存消耗。
- 降低
Bun.serve()
中的内存消耗
Bun.serve()
现在向 JavaScriptCore 的垃圾回收器报告手动管理的每个请求的内存使用情况。在某些情况下,这会将Bun.serve()
的内存使用量减少 50%。
- 实现
server.requestIP
现在可以使用server.requestIP()
检索给定Request
的 IP 地址。
Bun.serve({
port: 3000,
handler: (req, res) => {
console.log(server.requestIP(req));
},
});
Bun.plugin
中的虚拟模块 (Virtual Module)
Bun 的插件系统变得更加灵活并且与 esbuild 兼容。除了自定义加载程序 ( import stuff from "./stuff.foo"
) 之外,它现在还支持完全虚拟模块 ( import stuff from "foo"
)。开发者可以通过注册插件来注册虚拟模块。
import { plugin } from "bun";
plugin({
name: "my plugin",
setup(builder) {
builder.module("my-virtual-module", () => {
return {
exports: {
hello: "world",
},
loader: "object",
};
});
},
});
然后可以像普通模块一样使用该虚拟模块:
import { hello } from "my-virtual-module";
console.log(hello); // "world"
// require("my-virtual-module") also works
// await import("my-virtual-module") also works
// require.resolve("my-virtual-module") also works
详情。