ts的tsconfig.json中文说明

  • Post author:
  • Post category:其他


本文位转载,

1、转载====>

tsconfig.json详细配置_佚名程序员的博客-CSDN博客

2、转载====>

tsconfig.json各配置属性详解 – 知乎

仅供分析,请勿用于商业用途

//自用版-添加其他看下面
{
    /* 根选项 */
    "include": ["./src/**/*"], // 指定被编译文件所在的目录
    "exclude": [], // 指定不需要被编译的目录
    //使用小技巧:在填写路径时 ** 表示任意目录, * 表示任意文件。

    /* 项目选项 */
    "compilerOptions": {
        "target": "ES6", // 目标语言的版本
        "module": "commonjs", // 生成代码的模板标准
        "lib": ["DOM","ES5","ES6","ES7","ScriptHost"], // TS需要引用的库
        "outDir": "./dist", // 指定输出目录
        "rootDir": "./", // 指定输出文件目录(用于输出),用于控制输出目录结构
        "allowJs": true, // 允许编译器编译JS,JSX文件
        "checkJs": true, // 允许在JS文件中报错,通常与allowJS一起使用
        "removeComments": true, // 删除注释
        "esModuleInterop": true, // 允许export=导出,由import from 导入

        /* 严格检查选项 */
        "strict": true, // 开启所有严格的类型检查
        "alwaysStrict": true, // 在代码中注入'use strict'
        "noImplicitAny": true, // 不允许隐式的any类型
        "noImplicitThis": true, // 不允许this有隐式的any类型
        "strictNullChecks": true, // 不允许把null、undefined赋值给其他类型的变量
        "strictBindCallApply": true, // 严格的bind/call/apply检查
        "strictFunctionTypes": true, // 不允许函数参数双向协变
        "strictPropertyInitialization": true, // 类的实例属性必须初始化

        /* 额外检查 */
        "noUnusedLocals": true,//是否检查未使用的局部变量
        "noUnusedParameters": true,//是否检查未使用的参数
        "noImplicitReturns": true,//检查函数是否不含有隐式返回值
        "noImplicitOverride": true,//是否检查子类继承自基类时,其重载的函数命名与基类的函数不同步问题
        "noFallthroughCasesInSwitch": true,//检查switch中是否含有case没有使用break跳出
        "noUncheckedIndexedAccess": true,//是否通过索引签名来描述对象上有未知键但已知值的对象
        "noPropertyAccessFromIndexSignature": true,//是否通过" . “(obj.key) 语法访问字段和"索引”( obj[“key”]), 以及在类型中声明属性的方式之间的一致性

        /* 实验选项 */
        "experimentalDecorators": true,//是否启用对装饰器的实验性支持,装饰器是一种语言特性,还没有完全被 JavaScript 规范批准
        "emitDecoratorMetadata": true,//为装饰器启用对发出类型元数据的实验性支持

        /* 高级选项 */
        "forceConsistentCasingInFileNames": true,//是否区分文件系统大小写规则
        "extendedDiagnostics": false,//是否查看 TS 在编译时花费的时间
        "noEmitOnError": true,//有错误时不进行编译
        "resolveJsonModule": true,//是否解析 JSON 模块
    },
}

补充


  • compilerOptions

    : 编译器的选项,如语言版本、目标 JavaScript 版本、生成的 sourcemap 等。

  • include

    : 指定需要编译的文件路径或文件夹路径。

  • exclude

    : 指定不需要编译的文件路径或文件夹路径。

  • files

    : 指定需要编译的文件列表。

  • extends

    : 指定继承自另一个 tsconfig.json 文件。

  • compileOnSave

    : 指定是否在保存时编译文件。

  • buildOnSave

    : 指定是否在保存时编译文件。

  • target

    :编译目标 JavaScript 版本,可以是 “ES3″,”ES5” 或 “ES2015” 等。

  • module

    :指定模块系统,可以是 “CommonJS”,”AMD” 或 “System” 等。

  • sourceMap

    :是否生成 sourcemap 文件。

  • outDir

    :编译输出目录。

  • rootDir

    :设置项目的根目录。

  • strict

    :是否开启严格类型检查。

  • noImplicitAny

    :是否禁止隐式 any 类型。

  • lib

    :指定要包含在编译中的库文件,如 “es2015″。

  • paths

    : 指定模块路径别名。

  • baseUrl

    : 指定基础目录。

  • jsx

    : 指定 JSX 的处理方式。

  • allowJs

    : 是否允许编译 JavaScript 文件。

  • checkJs

    : 是否检查 JavaScript 文件。

  • declaration

    : 是否生成声明文件。

  • declarationMap

    : 是否生成声明文件的 sourcemap。

  • emitDecoratorMetadata

    : 是否支持装饰器。

  • experimentalDecorators

    : 是否支持实验性装饰器。

  • listEmittedFiles

    : 是否列出所有输出的文件。

  • listFiles

    : 是否列出所有编译过的文件。

  • locale

    : 指定本地化语言。

  • mapRoot

    : 指定 sourcemap 文件的根目录。

  • moduleResolution

    : 指定模块解析策略。

  • noEmit

    : 是否禁止输出 JavaScript 代码。

  • noEmitHelpers

    : 是否禁止输出辅助函数。

  • noEmitOnError

    : 是否在发生错误时禁止输出 JavaScript 代码。

  • noImplicitReturns

    : 是否禁止隐式返回。

  • noUnusedLocals

    : 是否检查未使用的局部变量。

  • noUnusedParameters

    : 是否检查未使用的参数。

  • preserveConstEnums

    : 是否保留 const 枚举。

  • pretty

    : 是否格式化输出的 JavaScript 代码。

  • removeComments

    : 是否移除注释。

  • skipLibCheck

    : 是否跳过检查库文件。

  • sourceRoot

    : 指定源文件的根目录。

  • suppressExcessPropertyErrors

    : 是否禁止过多属性错误。

  • suppressImplicitAnyIndexErrors

    : 是否禁止隐式 any 类型索引错误。

  • typeRoots

    : 指定类型声明文件的根目录。

  • types

    : 指定需要包含在编译中的类型声明文件。

  • watch

    : 是否监视文件变化并重新编译。