TypeScript 7.1 Beta:ambient 模块可声明 import attributes,并支持 --target es2026
TypeScript 7.1 Beta 于2026年10月20日发布,可通过 npm install -D typescript@beta 试用。这是 7.0 之后的第一个功能版本。技术博客 MoIu 按「会不会影响我的项目」梳理了官方博客中的六块内容。[1]
ambient 模块里的 import attributes
运行时侧,import attributes 已是常见写法,例如:
import myData from "./data/someData.json" with { type: "json" };
import readme from "../README.md" with { type: "text" };type 用于告诉运行时如何处理资源(json / text / bytes / css 等)。过去在声明文件里只能写 declare module "*.css",无法约束「必须带哪种 attribute」。7.1 允许 ambient 模块声明附带 attributes 约束,从而在类型层面拒绝错误的 with 子句——对写库的人更有用。[1]
source phase imports 与 --target es2026
import source x from "./mod.wasm" 这类「只取模块源码、不实例化」的写法进入 beta,常见用途是把模块当资源交给 Worker 或 WebAssembly.compile。同时,--target es2026 把编译目标推到更新的语言版本;是否启用应跟着实际运行时(如较新的 Node / Chrome),而不是只看年份。[1]
面向工具作者的 API
博客强调 7.1 更实质的一块是编译器 API:
Snapshots:在不重跑全量分析的前提下拿到一致视图,服务语言服务场景;
File System APIs:可替换的文件系统抽象(内存 / 虚拟 / 远程);
Content Mappers:把「磁盘上的源文件」与「编译器看到的内容」解耦。
三者都指向同一方向:让 TypeScript 更容易嵌进自定义工具链。[1]
行为变更与升级建议
需要留意的收紧包括:lib.d.ts 调整可能导致原先能通过的代码报错;以及对分布式类型参数更强的检查,泛型工具库里有时会出现「报错位置离真正写法很远」的情况。作者建议:库与工具链可以先试,业务项目可等正式版;试用时先把 tsc --noEmit 的输出与 7.0 逐条对比。[1]
说明:功能与建议据 MoIu 对 TypeScript 7.1 Beta 的解读;最终以 TypeScript 官方博客与 changelog 为准。
来源
[1] TypeScript 7.1 Beta:ambient 模块终于能声明 import attributes,还顺手把 target 推到 es2026,MoIu Home,2026年10月26日(文内记 Beta 发布于10月20日)。
#TypeScript #TS7.1 #importAttributes #es2026 #前端

成为第一条评论!
Nobody's responded to this post yet. Add your thoughts and get the conversation going.