SuperAPI AI 工具集

bun-macros

通用与其它

查看项目

更新于 10-15 21:33

技能介绍

Bun Macros 在打包(bundle)阶段执行 JavaScript,并把返回值直接内联到输出代码中,用于编译期代码生成、环境变量内联、文件嵌入和构建常量等场景。

主要能力:支持原始值、可序列化对象与数组、Response;支持异步宏与带参数的宏;可在宏内读取环境变量、执行 git 命令、读取与嵌入文件、列目录,并据此生成代码或做条件代码裁剪。

使用方式:在宏文件中导出函数,在消费侧用 import 属性导入并调用: import { getVersion } from "./config" with { type: "macro" }; 调用处会在打包时被替换为返回值。仅当执行打包命令时宏才运行,例如:bun build src/index.ts --outdir=dist;直接运行 bun run src/index.ts 时宏不会执行。

注意宏必须在打包阶段被求值,返回值需 JSON 可序列化(不能返回函数或类);宏内抛错会导致构建失败,可用于强制校验必需的环境变量。调试时可在宏内打印日志,在 bun build 输出中查看。官方资料建议保持宏纯净、返回可序列化值、为构建失败提供有意义的错误,并单独测试宏函数。

如需更复杂的代码生成、插件集成与构建流水线模式,或排查宏未执行、输出异常、性能问题,资料来源提到可加载 references/advanced-patterns.md 与 references/debugging.md。具体版本要求、配置细节与更多限制暂未提供。