ts重点学习138-ts.config.json笔记

简介: ts重点学习138-ts.config.json笔记
{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig to read more about this file */
    /* Projects */
    // TS编译器在第一次编译之后会生成一个存储编译信息的文件,第二次编译会在第一次的基础上进行增量编译,可以提高编译的速度
    // "incremental": true,
    // 启用允许TypeScript项目与项目引用一起使用的约束
    // "composite": true,
    // 增量编译文件的存储位置
    // "tsBuildInfoFile": "./.tsbuildinfo",
    // 在引用组合项目时,禁用首选源文件而不是声明文件。
    // "disableSourceOfProjectReferenceRedirect": true,
    // 编辑时从多项目引用检查中选择一个项目。
    // "disableSolutionSearching": true,
    // 减少TypeScript自动加载的项目数。
    // "disableReferencedProjectLoad": true,
    /* Language and Environment */
    "target": "es2016",
    // TS需要引用的库,即声明文件,es5 默认引用dom、es5、scripthost,如需要使用es的高级版本特性,
    //通常都需要配置,如es8的数组新特性需要引入"ES2019.Array",
    // "lib": [],
    // 指定生成的JSX代码。
    "jsx": "preserve",
    // 启用对TC39第2阶段草稿装饰器的实验支持。
    // "experimentalDecorators": true,
    // 为源文件中的修饰声明发出设计类型元数据。
    // "emitDecoratorMetadata": true,
    // 指定针对React JSX emit时使用的JSX工厂函数,例如“React”。createElement”或“h”。
    // "jsxFactory": "",
    // 指定针对React JSX emit(例如“React”)时用于片段的JSX片段引用。“片段”或“片段”。
    // "jsxFragmentFactory": "",
    // 指定使用“JSX:react JSX*”时用于导入JSX工厂函数的模块说明符。
    // "jsxImportSource": "",
    // 指定为“createElement”调用的对象。这仅适用于针对“react”JSX emit的情况。
    // "reactNamespace": "",
    // 禁用包含任何库文件,包括默认库。d、 ts。
    // "noLib": true,
    // 发出符合ECMAScript标准的类字段。
    // "useDefineForClassFields": true,
    // 控制用于检测模块格式JS文件的方法。
    // "moduleDetection": "auto",
    /* Modules */
    // 生成代码的模板标准,可选es6模式 amd  umd 等
    "module": "commonjs",
    // 指定输出文件目录(用于输出),用于控制输出目录结构
    // "rootDir": "./",
    // 模块解析策略,ts默认用node的解析策略,即相对的方式导入
    // "moduleResolution": "node",
    // 解析非相对模块的基地址,默认是当前目录
    // "baseUrl": "./",
    // 路径映射,相对于baseUrl
    // "paths": {},
    // 将多个目录放在一个虚拟目录下,用于运行时,即编译后引入文件的位置可能发生变化,这也设置可以虚拟src和out在同一个目录下,不用再去改变路径也不会报错
    // "rootDirs": [],
    // 声明文件目录,默认时node_modules/@types
    // "typeRoots": [],
    // 加载的声明文件包
    // "types": [],
    // 允许在模块中全局变量的方式访问umd模块
    // "allowUmdGlobalAccess": true,
    // 解析模块时要搜索的文件名后缀列表。
    // "moduleSuffixes": [],
    // 启用导入。json文件。
    // "resolveJsonModule": true,
    // 不允许“import”、“require”或“reference”扩展TypeScript应添加到项目中的文件数。
    // "noResolve": true,
    /* JavaScript Support */
    // 允许编译器编译JS,JSX文件
    // "allowJs": true,
    // 允许在JS文件中报错,通常与allowJS一起使用
    // "checkJs": true,
    // 指定用于检查“node\u modules”中的JavaScript文件的最大文件夹深度。仅适用于“allowJs”。
    // "maxNodeModuleJsDepth": 1,
    /* Emit */
    // 生成声明文件,开启后会自动生成声明文件
    // "declaration": true,
    // 为声明文件生成sourceMap
    // "declarationMap": true,
    // 只生成声明文件,而不会生成js文件
    // "emitDeclarationOnly": true,
    // 生成目标文件的sourceMap文件
    // "sourceMap": true,
    // 将多个相互依赖的文件生成一个文件,可以用在AMD模块中,即开启时应设置"module": "AMD",
    // "outFile": "./",
    // 指定输出目录
    // "outDir": "./",
    // 删除注释
    // "removeComments": true,
    // 不输出文件,即编译后不会生成任何js文件
    // "noEmit": true,
    // 通过tslib引入helper函数,文件必须是模块
    // "importHelpers": true,
    // 为仅用于类型的导入指定发射/检查行为。
    // "importsNotUsedAsValues": "remove",
    // 为迭代发出更符合要求、但冗长且性能较差的JavaScript。
    // "downlevelIteration": true,
    // 指定调试器查找参考源代码的根路径。
    // "sourceRoot": "",
    // 指定调试器应该定位映射文件的位置,而不是生成的位置。
    // "mapRoot": "",
    // 生成目标文件的inline SourceMap,inline SourceMap会包含在生成的js文件中
    // "inlineSourceMap": true,
    // 在发出的JavaScript内的sourcemaps中包含源代码。
    // "inlineSources": true,
    // 在输出文件的开头发出UTF-8字节顺序标记(BOM)。
    // "emitBOM": true,
    // 设置用于发射文件的换行符。
    // "newLine": "crlf",
    // 禁用在JSDoc注释中包含“@internal”的声明。
    // "stripInternal": true,
    // Disable generating custom helper functions like '__extends' in compiled output. 
    // "noEmitHelpers": true,
    // 如果报告了任何类型检查错误,则禁用发送文件。
    // "noEmitOnError": true,
    // 禁用删除生成代码中的“const enum”声明。
    // "preserveConstEnums": true,
    // 指定生成声明文件存放目录
    // "declarationDir": "./",
    // 在JavaScript输出中保留未使用的导入值,否则会被删除。
    // "preserveValueImports": true,
    /* Interop Constraints */
    // "isolatedModules": true,
    // "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    // "preserveSymlinks": true,
    "forceConsistentCasingInFileNames": true,
    /* Type Checking */
    "strict": true,
    // 确保每个文件都可以安全传输,而不依赖于其他导入。
    // "noImplicitAny": true,
    // 不允许把null、undefined赋值给其他类型的变量
    // "strictNullChecks": true,
    // 不允许函数参数双向协变
    // "strictFunctionTypes": true,
    // 严格的bind/call/apply检查
    // "strictBindCallApply": true,
    // 类的实例属性必须初始化
    // "strictPropertyInitialization": true,
    // 不允许this有隐式的any类型
    // "noImplicitThis": true,
    // 默认catch子句变量为“unknown”而不是“any”。
    // "useUnknownInCatchVariables": true,
    // 在代码中注入'use strict
    // "alwaysStrict": true,
    // 检查只声明、未使用的局部变量(只提示不报错)
    // "noUnusedLocals": true,
    // 检查未使用的函数参数(只提示不报错)
    // "noUnusedParameters": true,
    // 将可选属性类型解释为编写的,而不是添加“undefined”。
    // "exactOptionalPropertyTypes": true,
    //  每个分支都会有返回值
    // "noImplicitReturns": true,
    // 防止switch语句贯穿(即如果没有break语句后面不会执行)
    // "noFallthroughCasesInSwitch": true,
    // 使用索引访问时,将“undefined”添加到类型。
    // "noUncheckedIndexedAccess": true,
    // 对使用索引类型声明的键强制使用索引访问器。
    // "noPropertyAccessFromIndexSignature": true,
    // 禁用未使用标签的错误报告。
    // "allowUnusedLabels": true,
    // 禁用无法访问代码的错误报告
    // "allowUnreachableCode": true,
    /* Completeness */
    // 跳过类型检查。d、 TypeScript中包含的ts文件。
    // "skipDefaultLibCheck": true,
    // 跳过类型检查全部。d、 ts文件。
    "skipLibCheck": true
  }
}
相关文章
|
11天前
|
JavaScript 前端开发 测试技术
[小笔记]TypeScript/JavaScript数组转置
[小笔记]TypeScript/JavaScript数组转置
42 0
|
11天前
|
JavaScript 前端开发 测试技术
[小笔记]TypeScript/JavaScript模拟Python中的Range函数
[小笔记]TypeScript/JavaScript模拟Python中的Range函数
32 0
|
11天前
|
JavaScript 前端开发 编译器
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
TypeScript【泛型1、泛型2、声明合并、命名空间 、模块1、模块2、声明文件简介】(五)-全面详解(学习总结---从入门到深化)
72 0
|
11天前
|
编解码 JavaScript 前端开发
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
TypeScript【第三方声明文件、自定义声明文件、tsconfig.json文件简介、tsconfig.json 文件结构与配置】(六)-全面详解(学习总结---从入门到深化)
75 0
|
11天前
|
JavaScript 前端开发
TypeScript极速入门笔记1
TypeScript极速入门笔记1
34 4
|
11天前
|
JavaScript 前端开发 Java
小笔记:如何使用代码注释:关于JavaScript与TypeScript 注释和文档的自动生成
小笔记:如何使用代码注释:关于JavaScript与TypeScript 注释和文档的自动生成
231 0
|
11天前
|
JavaScript 前端开发 测试技术
[小笔记]TypeScript/JavaScript模拟Python中的zip(不使用map)
[小笔记]TypeScript/JavaScript模拟Python中的zip(不使用map)
21 0
|
11天前
|
存储 JavaScript 前端开发
TypeScript笔记(15)—— 深入理解TypeScript中的装饰器
TypeScript笔记(15)—— 深入理解TypeScript中的装饰器
60 0
|
11天前
|
存储 JavaScript 前端开发
TypeScript笔记(5)—— 基本数据类型
TypeScript笔记(5)—— 基本数据类型
44 0
|
11天前
|
JavaScript 前端开发 编译器
TypeScript笔记(4)—— TypeScript中的类型注解
TypeScript笔记(4)—— TypeScript中的类型注解
24 0