TypeScript 学习笔记 —— (二)TS 编译选项

227 阅读2分钟

此笔记记录的是 尚硅谷TypeScript教程(李立超老师TS新课) 课程笔记

监测 TS 文件变化自动编译

  1. 自动监测单个 TS 文件变化
    • Starting compilation in watch mode
    tsc app.ts -w
    
  2. 监测多个 TS 文件变化
    • 创建一个 tsconfig.json 文件
    tsc -w
    

tsconfig.json 配置项

tsconfig.json 是 ts 编译器的配置文件,ts 编译器可以根据它的信息来对代码进行编译

配置选项

  1. include
    • 定义希望被编译文件所在的目录
    • 默认值:["**/*"]
    • 一个 * 表示任意文件
    • 两个 ** 表示任意目录
    • 示例
      "include": ["src/**/*", "tests/**/*"]
      /* 上述示例中,所有 src 目录和 tests 目录下的文件都会被编译 */ 
      
  2. exclude
    • 定义需要排除在外的目录
    • 默认值:["node_modules", "bower_components", "jspm_packages"]
    • 示例
      "exclude": ["./src/hello/**/*"]
      /* 上述示例中,src 下 hello 目录下的文件都不会被编译 */
      

图片.png

  1. extends
    • 定义被继承的配置文件
    • 示例
      "extends": "./configs/base"
      /* 上述示例中,当前配置文件中会自动包含 config 目录下 base.json 中的所有配置信息 */
      
  2. files
    • 指定被编译文件的列表,只有需要编译的文件少时才会用到
    • 示例
      "files": [
          "core.ts",
          "sys.ts"
      ]
      /* 列表中的文件都会被 TS 编译器所编译 */
      
  3. complierOptions
    • 编译选项是配置文件中非常重要也比较复杂的配置选项

    • 在 complierOptions 中包含多个子选项,用来完成对编译的配置,项目选项有以下几个

      1. target:设置 ts 代码编译的目标版本
      2. module:指定要使用的模块化的规范

      图片.png

      1. lib:指定代码运行时所包含的库(宿主环境),一般不需要配置
      2. outDir:用来指定编译后文件所在的目录

      图片.png

      1. outFile:将代码合并为一个文件,设置 outFile 后,所有的全局作用域中的代码会合并到同一个文件中,但一般不用这个选项,因为合并代码的操作一般在打包工具中执行

      图片.png

      1. allowJs:是否对 js 文件进行编译,默认是 false
      2. checkJs:是否检查 js 代码是否符合语法规范,默认是 false,一般跟 allowJs 一起配置

      图片.png

      1. removeComments:是否移除注释
      2. noEmit:不生成编译后的文件,默认值是 false
      3. noEmitOnError:当有错误时不生成编译后的文件,默认值是 false

      图片.png

      1. strict:下列所有(四个)严格检查的总开关,这个设置为 true,下面四个配置都是 true,无需额外设置

      图片.png

      1. alwaysStrict:用来设置编译后的文件是否使用严格模式,默认 false
      2. noImplicitAny:不允许隐式的 any 类型
      3. noImolicitThis:不允许不明确类型的 this
      4. strictNullChecks:严格的检查空值。下例中的 box1 可能为空值,所以必须进行校验,否则会报错。图中校验方法一为 if 判断 box1 是否为 null,方法二为使用 ?. 语法来判断 box1 是否为空。

      图片.png