共计 1011 个字符,预计需要花费 3 分钟才能阅读完成。
在 Angular 利用中,tsconfig.json 文件是 TypeScript 编译器的配置文件,用于配置 TypeScript 编译器的编译选项。其中,”typeRoots”: [“node_modules/@types”] 是一个编译选项,用于通知 TypeScript 编译器在哪里查找类型申明文件。
具体来说,”typeRoots” 是一个字符串数组,它指定了一组门路,这些门路是 TypeScript 编译器用来查找类型申明文件的根目录。在这个示例中,”node_modules/@types” 示意查找 node_modules 目录下的 @types 子目录,这个子目录下蕴含了许多第三方库的类型申明文件,例如 @types/node 蕴含了 Node.js 的类型申明文件,@types/jasmine 蕴含了 Jasmine 测试框架的类型申明文件等等。
通过配置 “typeRoots”: [“node_modules/@types”],TypeScript 编译器会主动在指定的目录下查找所需的类型申明文件,从而使得咱们在 TypeScript 代码中能够正确地援用第三方库的类型,例如在 Angular 利用中援用 RxJS、Jasmine 等第三方库的类型申明文件。
在 Angular 利用中,tsconfig.json 文件的 “target” 属性指定了 TypeScript 编译器所要编译的 ECMAScript 指标版本。
“target”: “es2020” 示意编译器会将 TypeScript 代码编译为 ECMAScript 2020(即 ECMAScript 11)代码。这意味着编译器将会把 TypeScript 中的新个性和语法转换成 ECMAScript 2020 中的对应个性和语法。
设置 “target”: “es2020” 能够让你在 Angular 利用中应用 ECMAScript 2020 中新增的个性,比方可选链(optional chaining)和空值合并(nullish coalescing)。同时,这也意味着你的代码只能在反对 ECMAScript 2020 的浏览器或环境中运行,如果在不反对 ECMAScript 2020 的环境中运行,就会呈现语法错误或运行谬误。
须要留神的是,如果你的利用须要在旧版浏览器中运行,你可能须要将 “target” 属性设置为 “es5” 或 “es2015″。这样能够确保你的代码能够在大多数浏览器中运行,但你可能会失去一些 ECMAScript 2020 中的新个性。