tsconfig.json配置说明

compilerOptions配置说明

基本选项
{
    "target": "es2017", //指定ECMAScript目标版本:"ES3"(默认)、"es5"、"ES2015"、"ES2016"、"ES2017"、"ES2018"或"ESNEXT"。 
    "module": "commonjs", //指定模块代码生成:"none"、"commonjs"、"amd"、"system"、"umd"、"es2015"或"ESNext"。
    "lib": [], //指定要包含在编译中的库文件。
    "allowJs": true, //允许编译javascript文件。 
    "checkJs": true, //报告.js文件中的错误。 
    "jsx": "preserve", //指定jsx代码生成:"preserve"、"response -native"或"react"。 
    "declaration": true, //生成对应的’.d。ts文件。 
    "declarationMap": true, //为每个对应的’.d '生成一个sourcemap。ts文件。 
    "sourceMap": true, //生成相应的’。地图的文件。 
    "outFile":"./", //连接并将输出发送到单个文件。 
    "outDir": "./", //将输出结构重定向到目录。 
    "rootDir": "./", //指定输入文件的根目录。用于用——outDir控制输出目录结构。 
    "composite": true, //启用项目编译
    "removeComments": true, //不向输出发出注释。 
    "noEmit": true, //不发出输出。 
    "importthelpers": true, //* Import从"tslib"中释放助手。* 
    "downlevelIteration":true, //*当目标为"ES5"或"ES3"时,为"for-of"、"spread"和"destructuring"中的迭代提供完全支持。 
    "isolatedModules":true, //将每个文件转换为一个单独的模块(类似于"ts.transpileModule")。 
}


严格的类型检查选项
{
    "strict":true, //启用所有严格的类型检查选项。 
    "noImplicitAny":true, //对隐含的"any"类型的表达式和声明提出错误。 
    "strictnullcheck":true, //启用严格的空检查。 
    "strictFunctionTypes": true, //启用对函数类型的严格检查。 
    "strictpropertyinitialized ": true, //在类中启用严格的属性初始化检查。 
    "noImplicitThis":true, //对包含"any"类型的"this"表达式提出错误。 
    "alwaysStrict":true, //在strict模式下解析,并为每个源文件发出"use strict"。 
}
附加检查
{
    "noUnusedLocals":true, //报告未使用局部变量的错误。 
    "noUnusedParameters":true, //报告未使用参数的错误。 
    "noImplicitReturns":true, //当函数中并非所有代码路径都返回值时报告错误。 
    "noFallthroughCasesInSwitch":true, //在switch语句中报告错误。 
}

//模块解析选项
{
    "moduleResolution":"node",//指定模块解析策略:"node"(node .js)或"classic"(TypeScript pre-1.6)。 
    "baseUrl":"./", //基本目录来解析非绝对模块名。 
    "path":{},//一系列条目,这些条目将导入重新映射到相对于"baseUrl"的查找位置。 
    "rootDirs":[],//根文件夹列表,其组合内容表示运行时项目的结构。 
    "typeRoots":[], //包含类型定义的文件夹列表。 
    "types":[], //编译中包含的类型声明文件。 
    "allowSyntheticDefaultImports":true, //允许从没有默认导出的模块进行默认导入。这并不影响代码发出,只影响类型查询。 
    "esModuleInterop":true //通过为所有导入创建名称空间对象,支持CommonJS和ES模块之间的互操作性。意味着"allowSyntheticDefaultImports"。 
    "preserveSymlinks":true, //不解析符号链接的实际路径。 
}
源映射选项
{
    "sourceRoot": "", //指定调试器应该定位TypeScript文件而不是源位置的位置。 
    "mapRoot": "", //指定调试器应该定位映射文件的位置,而不是生成的位置。 
    "inlineSourceMap": true, //发出一个带有源映射的文件,而不是一个单独的文件。 
    "inlineSources":true, //*在单个文件中,将源文件与源文件一起发出;需要设置’- inlineSourceMap’或’- sourceMap’ 。 
}
实验选项
{
    "experimentalDecorators": true, //支持对ES7 decorator的实验支持。 
    "emitDecoratorMetadata": true, //启用了对为decorator发出类型元数据的实验性支持。 
}

你可能感兴趣的:(tsconfig.json配置说明)