无项目引用时tsc --build的作用及与tsc的差异
在无项目引用的项目中
tsc与tsc --build的差异 虽然--build(简称-b)原本是为项目引用设计的,但在未配置项目引用的单项目中运行它也能正常工作,和普通tsc的核心差异如下:
编译模式不同
普通tsc默认执行全量编译,每次都会处理所有符合配置的文件,不管文件内容是否有变动;而tsc --build会自动启用增量编译逻辑,检查源文件与编译输出的时间戳,仅重新编译有修改的文件,能大幅提升重复编译的速度。输出信息风格
tsc --build的输出更简洁,仅展示关键构建状态(比如编译完成提示、变动文件的编译日志);普通tsc默认会输出更详细的编译细节,除非手动添加--quiet参数简化输出。配置执行的严格性
两者都会读取当前目录的tsconfig.json,但tsc --build会严格遵循配置中的include/exclude/files规则,不会编译配置外的文件;普通tsc如果直接指定单个文件(如tsc src/index.ts)会忽略配置文件,但不带参数时的行为和--build一致。错误提示的聚焦度
在少量文件更新的场景下,tsc --build的错误提示会更聚焦于变动的文件;普通tsc则会一次性列出所有检测到的错误,在单项目中这个差异影响不大,但文件较多时前者的提示更高效。
简单总结:在无项目引用的单项目里,tsc --build相当于开启了增量编译模式,适合需要频繁编译的场景;普通tsc是全量编译,适合小项目或需要强制重新编译所有文件的场景。
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

