马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
“typings”: “types/index.d.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 编译器的举动,包罗如那边理类型声明文件和哪些文件应被编译。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |