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": {
    "module": "esNext", // 指定生成的模块系统
    "target": "ESNext", // 指定编译目标的ECMAScript版本
    "jsx": "react-jsx", // 指定JSX代码生成器
    "moduleResolution": "node", // 指定模块解析策略
    "alwaysStrict": true, // 始终使用严格模式
    "sourceMap": false, // 生成相应的.map文件
    "allowSyntheticDefaultImports": true, // 允许从没有默认导出的模块中默认导入
    "removeComments": false, // 删除注释
    "preserveConstEnums": true, // 保留const枚举
    "experimentalDecorators": true, // 允许使用实验性的装饰器特性
    "noImplicitReturns": true, // 禁止隐式返回any类型
    "noUnusedLocals": true, // 禁止未使用的局部变量
    "noUnusedParameters": false, // 禁止未使用的参数
    "noImplicitAny": false, // 禁用隐式any类型
    "noImplicitThis": false, // 禁止隐式this类型
    "resolveJsonModule": true, // 允许从json模块中导入内容
    "outDir": "lib", // 指定输出目录
    "rootDir": "./", // 指定根目录
    "baseUrl": ".", // 指定根目录,用于确定TypeScript输入文件的相对位置
    "paths": {
      "@/*": [
        "./src/*"
      ],
      "ice": [
        ".ice"
      ]
    } // 指定路径别名
  },
  "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、付费专栏及课程。

余额充值