tsconfig.json的作用

tsconfig.json 文件是 TypeScript 项目中的核心配置文件,它用于定义和控制 TypeScript 编译器的行为。通过这个文件,你可以指定编译选项、源文件路径、输出目录以及许多其他与编译过程相关的设置。以下是 tsconfig.json 文件中一些常见配置项的解释:

  1. compilerOptions:这是 tsconfig.json 文件中最主要的部分,用于设置 TypeScript 编译器的选项。例如:
    • target:指定要生成的 JavaScript 代码的目标版本,如 es5、es6、es2017 等。
    • module:指定模块系统,如 commonjs、amd、esnext 等。
    • outDir:指定编译后的 JavaScript 文件输出目录。
    • sourceMap:启用或禁用源映射,用于在编译后的代码中保留原始 TypeScript 文件的行号和列号。
    • strict:启用严格类型检查,包括 noImplicitAny、strictNullChecks 等。
    • esModuleInterop:启用 ES 模块互操作性,允许在 CommonJS 模块中使用 ES 模块。
  1. include:指定哪些文件应该被包含在编译过程中。例如,你可以指定所有 .ts 和 .tsx 文件。
  2. exclude:指定哪些文件或目录应该被排除在编译过程之外。例如,你可以排除 node_modules 目录。
  3. files:列出要编译的文件,这通常用于较小的项目,对于大型项目,include 和 exclude 更常用。
  4. extends:允许你继承另一个 tsconfig.json 文件的设置,这对于大型项目或具有多个子项目的项目非常有用。
  5. references:用于引用其他 tsconfig.json 文件,这在大型项目中很有用,可以将项目拆分为多个可独立编译的模块。

通过 tsconfig.json 文件,你可以确保 TypeScript 代码以一致的方式编译,同时还可以根据项目需求定制编译行为,提高代码质量和开发效率。

常用tsconfig配置

{
  "compilerOptions": {
    "target": "es5",                       // 指定编译目标的ECMAScript版本
    "module": "commonjs",                  // 指定生成的模块系统
    "strict": true,                        // 启用所有严格类型检查选项
    "esModuleInterop": true,               // 启用ES模块互操作
    "skipLibCheck": true,                  // 跳过对库文件的类型检查
    "outDir": "./dist",                    // 指定输出目录
    "rootDir": "./src",                    // 指定根目录,用于确定TypeScript输入文件的相对位置
    "removeComments": true,                // 删除注释
    "noImplicitAny": false,                // 禁用隐式any类型
    "sourceMap": true,                     // 生成相应的.map文件
    "experimentalDecorators": true,        // 允许使用实验性的装饰器特性
    "emitDecoratorMetadata": true           // 为装饰器生成元数据
  },
  "include": [
    "src/**/*"                             // 包含src目录下的所有文件
  ],
  "exclude": [
    "node_modules",                        // 排除node_modules目录
    "**/*.spec.ts"                         // 排除所有的测试文件
  ]
}

如果构建时未使用变量报错

这是因为ts中开启了严格模式,找到tsconfig.json文件

"strict": true,			// 开启严格模式,检查类型声明和赋值...是否合法
"noUnusedLocals": true,	// 检查是否存在未使用的变量
"noUnusedParameters": true,	// 检查是否存在会使用的函数参数
"noFallthroughCasesInSwitch": true,	// 检查switch语句中是否存在break

修改解决:按照对应的需求修改为false就可以了

	"strict": true,
    "noUnusedLocals": false,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值