通常,TypeScript 要先变成 JavaScript,再交给 Node.js 或浏览器执行,就像寄出一份还需要专门翻译员才能读的文件。Vercel Labs 的实验项目 scriptc 想省掉部署端的这层依赖:它借助 TypeScript 编译器检查代码,再生成带类型的中间表示(IR——源码到机器码之间的结构化形态),最终可输出可读的 C、LLVM IR、本机可执行文件或 WebAssembly 模块。
最值得注意的是,完全静态编译成功的程序只携带一个小型本机运行时,不包含 Node.js 或 JavaScript 引擎;生成的可执行文件也无需 Node。scriptc 还提供 coverage 命令,标出哪些代码能静态编译,并为动态或暂不支持的位置给出诊断。遇到 npm 包或 any 类型代码时,也可用 --dynamic 明确嵌入 quickjs-ng。边界同样清楚:scriptc 仍属实验阶段,编译器本身要求 Node.js 24 或更新版本,普通可执行文件构建还需要平台链接工具和 SDK。