Typescript 编译上下文2024 年 8 月 29 日 | 阅读 3 分钟 编译上下文是一个术语,指的是将解析和分析以确定什么是有效和什么是无效的 TypeScript 文件的分组。 编译上下文包含有关正在使用的编译器选项的信息。 我们可以通过使用 tsconfig.json 文件来定义 TypeScript 文件的这种逻辑分组。 我们可以使用 tsc <文件名>.ts 命令编译 TypeScript 文件。 当我们使用 '$tsc' 命令来编译 TypeScript 代码时,编译器会搜索在 tsconfig.json 文件中加载的配置。 TypeScript 还提供了一个选项来编译大型项目中的多个 .ts 文件。 tsconfig.jsontsconfig.json 文件是一个 JSON 格式的文件。 在 tsconfig.json 文件中,我们可以指定各种选项来告诉编译器如何编译当前项目。 任何新的 TypeScript 项目的第一步都是添加 tsconfig.json 文件。 要创建 tsconfig.json 文件,请打开要存储源文件的文件夹,并添加一个名为 tsconfig.json 的新文件。 我们可以通过以下方式之一编译 typescript 项目 - 通过调用没有输入文件的 tsc: 在这种情况下,编译器从当前目录开始搜索 tsconfig.json 文件,并沿着父目录链进行搜索。
- 通过调用没有输入文件且带有 --project(或仅 -p)命令的 tsc: 在这种情况下,编译器指定包含 tsconfig.json 文件的目录的路径。 它还指定包含配置的有效 .json 文件的路径。
创建 tsconfig.json 文件我们可以使用以下命令在项目的根文件夹中创建一个 tsconfig.json 文件。 如果我们执行上述命令,将创建一个默认的 tsconfig.json 文件。 Include 和 Exclude 属性include 和 exclude 属性允许我们采用数组模式来添加或删除编译过程中 TypeScript 文件的列表。 compilerOptions 属性我们可以使用 compilerOptions 自定义编译器选项属性。 它允许为 typescript 编译器指定其他选项。 下表总结了一些重要的编译器选项。 选项 | 类型 | 默认 | 描述 |
---|
--allowJs | boolean | false | 允许编译 JavaScript 文件。 | --alwaysStrict | boolean | false | 在严格模式下解析并为每个源文件发出 "use strict"。 | --baseUrl | string | | 它是解析非目录模块名称的基本目录。 | --build--b | boolean | false | 它用于构建项目及其所有由项目引用指定的依赖项。 | --declaration--d | boolean | false | 它生成一个对应的 .d.ts 文件。 | --diagnostics | boolean | false | 它显示诊断信息。 | --experimentalDecorators | boolean | false | 它启用对 ES 装饰器的实验性支持。 | --isolatedModules | boolean | false | 它用于将每个文件作为单独的模块进行转换。 | --module--m | string | target === "ES3" 或 "ES5" ? "CommonJS" : "ES6" | 输出模块类型,例如 "CommonJS", ?AMD?, "System", "ES6", "ES2015" 或 "ESNext"。 如果 target 属性为 ES3 或 ES5,则默认值为 CommonJS; 否则默认为 ES6。 | --moduleResolution | string | module === "AMD" 或 "System" 或 "ES6" ? "Classic" : "Node" | 它确定模块的解析方式。 "Node" 用于 Node.js/io.js 样式解析,或者 "Classic"。 | --noEmitOnError | boolean | false | 如果报告了任何错误,则不发出输出。 | --outDir | string | | 将输出结构重定向到该目录。 | --sourceMap | boolean | false | 生成对应的 .map 文件。 它有助于调试。 | --target--t | string | "ES3" | 指定 ECMAScript 目标版本:“ES3”(默认值)、“ES5”、“ES6”/“ES2015”、“ES2016”、“ES2017”或“ESNext”。 | --watch--w | | | 它在监视模式下运行编译器。 这意味着每当任何源文件发生更改时,都会重新触发编译过程以再次生成转换后的文件。 |
要查看编译器选项的完整列表,请转到 官方页面。 compileOnSave它是用于设置 IDE 以编译包含的 TypeScript 文件并自动生成输出的属性。 它向 IDE 发出信号,以便在保存时为给定的 tsconfig.json 生成所有文件。
|