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发出类型元数据的实验性支持。
}
网友评论