• 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
      }
    }
  • 相关阅读:
    Flutter的oktoast插件详解
    计算机毕业设计(附源码)python疫情下的学生出入管理系统
    java使用MD5加密
    【Flink源码篇】Flink提交流程之flink命令自定义参数的解析和命令行客户端的选择
    017-$route、$router
    Cesium 三维模型使用 blender 调整位置、坐标轴、比例等
    做大模型产品,如何设计prompt?
    【Visual Leak Detector】在 QT 中使用 VLD(方式二)
    软件工程:说透软件5种常见的部署策略
    Redis
  • 原文地址:https://blog.csdn.net/qq_41632427/article/details/127095185