Angular项目无include的tsconfig中exclude:node_modules的作用是什么?
关于tsconfig中
exclude: ["node_modules"]的作用 在这个未继承其他tsconfig、也未配置include的独立配置文件里,exclude: ["node_modules"]的作用如下:
- 排除第三方依赖目录的编译:TypeScript编译器默认会扫描当前配置文件所在目录及所有子目录下的可编译文件(如
.ts、.tsx、.d.ts等)。node_modules里存放的是项目依赖的第三方包,这些包大多已经是编译好的产物(或自带类型声明文件),不需要由你的项目编译器再处理。 - 提升编译效率:
node_modules目录通常体积庞大,包含大量文件,排除它能大幅减少编译器需要扫描和处理的文件数量,加快编译速度。 - 避免不必要的编译错误:部分第三方包的源码可能不符合你的项目TypeScript配置规则,强行编译可能会抛出无关的类型错误或编译异常,排除该目录能规避这类问题。
补充说明:其实TypeScript默认就会排除node_modules目录,这里显式配置的好处是让配置意图更清晰,也能避免某些特殊场景下默认规则失效的问题。
内容的提问来源于stack exchange,提问作者Kyle Vassella
相关产品推荐
相关产品推荐

