{
"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
}
}
ts重点学习138-ts.config.json笔记
原创前端歌谣 ©著作权
文章标签 javascript sed typescript 文章分类 后端开发
©著作权归作者所有:来自51CTO博客作者前端歌谣的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
vue3 build vite.config.ts配置
import { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'const pat
vue.js javascript 前端 反向代理 服务器