tsconfig,常用配置

/*
https://www.bilibili.com/video/BV1pf4y1U7ij?p=27&spm_id_from=pageDriver&vd_source=fd5425bfe2e6c3a48b1d00c8b84349a2
*/

{
  /* 外层主要是编译目录,输出目录的配置 */
  //只编译该数组里的文件
  "files": [
    "src/a.ts"
  ],
  //只编译编译src下二级目录的文件(支持通配符)
  "include": [
    "src/*/*"
  ],
  //不编译node_modules下的
  "exclude": [
    "node_modules"
  ],
  //继承,把基础的配置抽离出来,写在另一个json中。1. 分成几个写文件更清新 2. 下次就不用再写了 3.继承里的会覆盖当前的
  "extends": "./tsconfig.base.json",
  /* 这里面主要是编译时,对文件的操作设置 */
  "compilerOptions": {
    "incremental": true, // 增量编译,编译后会成生一个文件,记录这次编译的情况,下次编译就会和这次的对比,编译差异部分,这样可以避免重复编译,加快编译效率
    "tsBuildInfoFile": "./tsbuildinfo", // 上面生成的文件的保存目录和名字,如果不设置,就会生成在根目录下,起一个默认名字
    "diagnostics": true, // 打印诊断信息,编译完会打印编译用的时间。incremental有没有效,看这里也能看出来
    
    
    "target": "ES5", //使用的js版本
    "module": "commonjs",  //编译生成的代码使用的标准
    "lib": ["es2019"],  //需要引入的库,如果要操作dom,那就要引入”dom“库,不然querySelector这些都不能用,要用数组的flat(es2019新增的语法),那就要引入”es2019“


    "allowJs": true,  //允许编译js,jsx文件
    "checkJs": true, //检查js文件,允许在js文件中报错
    "outDir": "./out", //要允许编译js,一般都要配置该选项,因为编译后后的js和原js同名,会冲突,不像a.ts和编译后的a.js不会冲突
    "rootDir": "./src",  //哪个目录下的js需要编译?默认是根目录下除了exclude,包含include的文件都要编译,这里可以再约束一下

    "sourceMap": true,  //每个文件生成sourcemap


    "removeComments": true,  //删除注释

    
    "noEmit": true,  //不生成文件,这个配置true了,ts就相当于不工作了
    "noEmitOnError": true,  //发生错误时,不生成文件


    "downlevelIteration": true,  //降级遍历器到es3,在es5中有concat这些函数,如果连es5都不支持,那就要降级,用更基础的方式实现遍历


    "strict": true,  //严格检查
    "alwaysStrict": true,  //允许在文件中注入 "use strict"


  }
}

posted on 2022-10-04 15:24  In-6026  阅读(170)  评论(0编辑  收藏  举报

导航