本文主要是介绍ts总结第二篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在 TypeScript 的 tsconfig.json
配置文件中,compilerOptions
中的 typeRoots
和 types
选项以及 include
和 exclude
选项都有不同的作用和用途。理解这些配置项之间的区别和作用可以帮助你更好地管理 TypeScript 项目。
1. compilerOptions
配置项
typeRoots
-
作用:指定 TypeScript 查找类型声明文件的根目录。它告诉 TypeScript 编译器在哪里查找类型定义文件(
.d.ts
文件)。 -
配置示例:
"typeRoots": ["./node_modules/@types", "./src/types"]
这意味着 TypeScript 会在
./node_modules/@types
和./src/types
这两个目录下查找类型声明文件。通常,node_modules/@types
是用于第三方库的类型声明,而src/types
用于项目自定义的类型声明。
types
-
作用:指定需要包含在编译中的类型声明文件。这通常用于控制哪些全局类型包被包含在项目中。
-
配置示例:
"types": ["node", "lodash"]
这会告诉 TypeScript 仅包括
@types/node
和@types/lodash
中的类型声明文件,而不包括node_modules/@types
中的其他类型声明。
2. include
和 exclude
配置项
include
-
作用:指定哪些文件和目录应包含在 TypeScript 编译过程中。这些路径是相对于
tsconfig.json
文件的位置。 -
配置示例:
"include": ["src/**/*.ts","src/**/*.tsx","src/**/*.vue" ]
这意味着 TypeScript 编译器会编译
src
目录下所有的.ts
、.tsx
和.vue
文件。
exclude
-
作用:指定哪些文件和目录应排除在 TypeScript 编译过程之外。这些路径是相对于
tsconfig.json
文件的位置。 -
配置示例:
"exclude": ["node_modules" ]
这意味着 TypeScript 编译器会排除
node_modules
目录下的所有文件。
配置示例和效果
考虑以下配置的组合:
{"compilerOptions": {"typeRoots": ["./node_modules/@types", "./src/types"],"types": ["node", "lodash"]},"include": ["src/**/*.ts","src/**/*.tsx","src/**/*.vue"],"exclude": ["node_modules"]
}
-
typeRoots
:TypeScript 将在./node_modules/@types
和./src/types
目录下查找类型声明文件。 -
types
:仅将@types/node
和@types/lodash
的类型声明文件包含在编译中,忽略node_modules/@types
中的其他类型声明。 -
include
:指定了 TypeScript 编译器应该包括src
目录下的.ts
、.tsx
和.vue
文件。 -
exclude
:排除了node_modules
目录,意味着node_modules
中的文件不会被编译(这也是默认行为)。
总结
typeRoots
控制类型声明文件的根目录。types
控制要包含在编译中的类型声明包。include
和exclude
控制编译过程中的文件和目录范围。
这些配置项的结合使你能够精确地控制 TypeScript 编译器的行为,包括如何处理类型声明文件和哪些文件应被编译。
这篇关于ts总结第二篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!