百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
S

scriptc

> 编程语言
开源

TypeScript 到原生编译器

2.7K stars0 点赞1 次浏览
访问官网GitHub

工具介绍

TypeScript 到原生编译器

scriptc

scriptc 将 TypeScript 和 JavaScript 编译为类型化 IR、可读 C 代码、文本 LLVM IR、原生汇编和对象文件、原生可执行文件以及 WebAssembly 模块。它使用 TypeScript 编译器进行解析和类型检查。源码输出仅需 Node。在 macOS 15+ arm64 上,普通 LLVM 层级的可执行文件使用 scriptc 自带的辅助程序和预编译运行时包;clang 仅作为平台链接器驱动,不编译程序或运行时 C 代码。

静态构建包含一个小型本机运行时,但不包含 Node 或 JavaScript 引擎。无法静态编译的代码会被报告为诊断信息。对于 npm 包和 any 类型的代码, --dynamic 会明确嵌入 quickjs-ng。scriptc 是一个实验性工具,其目标是 macOS、Linux、Windows 和 WebAssembly 通过 WASI Preview 1。

编译器需要 Node.js 24 或更高版本。--emit=ir|c|llvm 仅需 Node。--emit=asm|obj 使用随 scriptc 在受支持的 macOS、Linux 和 Windows 主机(以及 WASI)上安装的匹配可选平台辅助工具,但不需要编译器、归档器、链接器或 SDK。普通的 LLVM 层级可执行文件构建需要平台链接器驱动程序和 SDK/sysroot,但使用捆绑的辅助工具及预编译运行时包,而非编译生成的或运行时 C 代码。设置 SCRIPTC_LINKER 以选择该驱动程序。显式 C 构建、LLVM 回退、--sanitize 以及已弃用的 SCRIPTC_CC=clang|zigcc 兼容路径还需要一个 C 编译器。它生成的可执行文件不需要 Node。

构建程序

创建 hello.ts:

typescript
const who = process.argv.length > 2 ? process.argv[2] : "world";
console.log(`hello, ${who}`);

一步完成编译并运行:

bash
$ scriptc run hello.ts
hello, world

或者编写一个独立的可执行文件:

bash
$ scriptc build hello.ts -o hello
$ ./hello ctate
hello, ctate

或者停留在源代码阶段

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

TypeScript

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言