【TypeScript从脚本走向原生编译的临界点】Vercel推出的scriptc尝试打破TypeScript必须依赖Node.js或V8引擎的惯例。它将TS代码直接编译为原生可执行文件,而非传统的运行时打包。其核心机制分为三层:第一层将标准TS和Node.js核心API静态编译为原生代码,二进制文件中不含引擎;第二层针对动态代码或npm依赖,按需嵌入约620KB的微型引擎;第三层则拦截无法处理的逻辑。其Hello World体积仅320KB,启动耗时约4ms,远低于Node.js约120MB的体积和35ms的启动延迟。这件事的底层逻辑在于重新审视TypeScript的静态属性。长期以来TS被视为JS的类型标注,但scriptc证明了在约束动态特性后,TS具备作为系统级语言的潜力。对于开发者而言,这不仅是性能提升,更解决了CLI工具分发时体积臃肿的痛点。这种渐进式编译思路非常务实:它不强求全盘原生化,而是通过覆盖率报告明确告知哪些代码触发了动态引擎。这种透明性让开发者在保留生态兼容性的同时,获得了精准控制运行成本的能力,预示着前端工具链正从运行时打包向真正的静态编译演进。 scriptc.dev
