Bun v1.0.4 发布,Zig 编写的 JavaScript 运行时

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

详情

猜你喜欢

转载自www.oschina.net/news/260293/bun-1-0-4-released
Bun