1. isolatedModules、verbatimModuleSyntax(TS 5.0+)对打包器(Babel/esbuild/SWC/Oxc)的协作
isolatedModules 与 verbatimModuleSyntax 对打包器(Babel/esbuild/SWC/Oxc)的协作有什么影响?
- isolatedModules 的"单文件转译"语义
- verbatimModuleSyntax 强制 import type/export type
- 与 Babel/esbuild 等转译器的协作边界
Babel/esbuild 等转译器按文件独立转译、不做跨文件类型分析,因此 const enum、namespace 等需要整体信息的语法无法正确转译。isolatedModules 在类型层面约束"每个文件可独立编译":禁止 const enum、禁止无 export 的全局增强等,并强制导出类型时使用 export type;verbatimModuleSyntax(TS 5.0+)更进一步,要求 import/export 的类型修饰符按原样保留,编译器不再自动擦除或合并类型导入,保证产物中的 import 语句与打包器的 ESM 语义一致。协作要点:使用这些转译器时必须开启 isolatedModules,verbatimModuleSyntax 提供最严格的语义对齐,类型导入统一写 import type,枚举改用 as const 对象或联合字面量,从而让 tsc 检查与打包器产物行为一致。
考察"转译器 + 类型检查器"的职责分工:isolatedModules/verbatimModuleSyntax 把"可独立转译"与"类型导入显式化"变成强制约束,回答应说明语法限制与 import type 规范。