tsconfig.json 编译常用配置项

编译

  1. tsc 文件 -w,文件监视,自动编译;
  2. 项目根目录创建tsconfig.json文件,执行tsc,可编译项目内的全部ts文件,执行tsc -w,监视所有文件,自动编译;
tsconfig.json 常用配置项
{
  /*
    tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
  */

  /* 
    "include" 用来指定哪些ts文件需要被编译,**表示任意目录,*表示任意文件
      表示根目录下的src文件下的任意目录下的任意文件
  */
  "include": ["./src/**/*"],

  /* 
    "exclude" 不需要被编译的目录文件
      默认值:["node_modules", "bower_components", "jspm_packages"]
   */
  "exclude": ["./src/exclude/**/*"],

  /*
    "extends" 继承,例如引入外部文件,不常用,"extends": "./config/xxx",
  */

  /*
    "files" 指定被编译文件的列表,不常用,"files": ["app.ts"]
  */

  /*
    "compilerOptions" 编译器的选项
  */
  "compilerOptions": {
    /* 
      target 用来指定ts被编译为的ES版本,默认为ES3
      取值:'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'esnext
    */
    "target": "ES2015",

    /*
      module 指定要被使用的模块化规范
      取值:'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'esnext'
    */
    "module": "ES2015",

    /* lib 用来指定项目中要使用的库,一般不改动,默认值就是浏览器环境所需要的那些库
       取值:'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020',
            'es2021', 'esnext', 'dom', 'dom.iterable', 'webworker', 'webworker.importscripts',
            'webworker.iterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator',
            'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 
            'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory',
            'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator',
            'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array',
            'es2019.object', 'es2019.string', 'es2019.symbol', 'es2020.bigint', 'es2020.promise',
            'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl',
            'es2021.promise', 'es2021.string', 'es2021.weakref', 'esnext.array', 'esnext.symbol',
            'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise',
            'esnext.weakref'
    */
    // "lib": ["xxx"]

    /*
      ourDir 用来指定编译后文件所在的目录
    */
    "outDir": "./dist",

    /*
      将代码合并成一个文件
      设置outFile后,所有的全局作用域中的代码会合并到同一个文件中,了解
      outFile 仅支持 "amd" 和 "system" 模块
    */
    // "outFile": "./dist/index.js",

    /*
      allowJs 是否对js文件进行编译,默认为false
    */
    "allowJs": true,

    /*
      checkJs 是否检测js代码是否符合ts语法规范,默认为false
    */
    "checkJs": true,

    /*
      removeComments 是否移除注释, 默认为false
    */
    "removeComments": true,

    /*
      noEmit 不生成编译后的文件, 默认为false
    */
    "noEmit": false,

    /*
      noEmitOnError 当有错误时不生成编译后的文件,默认为false
    */
    "noEmitOnError": true,

    /*
      所有严格检查的总开关,默认为false
    */
    "strict": true,

    /*
      alwaysStrict 用来设置编译后的文件是否使用严格模式,默认为false
    */
    "alwaysStrict": true,

    /*
      noImplicitAny 不允许出现隐式的any类型,默认值为false
    */
    "noImplicitAny": true,

    /*
      noImplicitThis 不允许不明确类型的this,默认值为false
    */
    "noImplicitThis": true,

    /*
      strictNullChecks 严格的检查空值,默认为false
    */
    "strictNullChecks": true
  }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值