Skip to content

编译单个 ts 文件

  1. 前面的文章中我们提到过,可以使用 tsc file.tsfile.ts 文件编译成 file.js 文件,但是这样很麻烦,每次更改都需要重新编译一次。
  2. 可以使用 tsc file.ts -w 时刻监听 ts 文件的保存操作,保存 ts 文件后自动编译。

编译多个 ts 文件

  1. 在项目根目录创建 tsconfig.json 文件,作为编译配置文件,此后的编译选项都配置在这个文件里。
  2. 控制台执行 tsc 即可编译所有 ts 文件。
  3. 也可以使用 tsc -w 命令监听所有 ts 文件的变化,自动编译 ts 文件。

tsconfig.js 文件

include

  1. 作用:用来指定哪些 ts 文件需要被编译。

  2. 类型:数组。每一项都是路径

  3. 通配符

    • *:一个 * 表示任意文件
    • **:两个 * 表示任意目录
    json
    {
        "include": [ "./src/**/*" ],    // 编译 src 目录下的任意子目录中的任意 ts 文件
    }

exclude

  1. 作用:用来指定哪些 ts 文件不需要被编译。
  2. 类型:同 include
  3. 通配符:同 include
  4. 默认值:["node_modules", "bower_components", "jspm_packages"]

extends

  1. 作用:若一个项目中有除 tsconfig.json 文件外还有其他配置文件,可以在 tsconfig.json 文件中指定其他配置文件路径。
  2. 类型:字符串

files

  1. 作用:列出需要编译的文件,功能与 include 一样,但写法不一样。

  2. 类型:数组

    json
    {
        "files": [ "./src/ts/a.ts", "./src/ts/b.ts" ]
    }

compilerOptions

编译器的选项

target

用来指定 ts 编译出来的 ES 版本

json
{
    "compilerOptions": {
        "target": "ES6"
    }
}
module

指定要使用的模块化规范

json
{
    "compilerOptions": {
        "module": "CommonJS"
    }
}
lib

用来指定项目中要使用的库

json
{
    "compilerOptions": {
        "lib": [ "DOM" ]
    }
}
outDir

用于指定编译后的 js 文件所在目录,若目录不存在会自动创建。

json
{
    "compilerOptions": {
        "outDir": "./src/js"
    }
}
outFile

将代码合并到一个文件中。

json
{
    "compilerOptions": {
        "outFile": "./src/js/index.js"
    }
}
allowJs

是否编译 js 文件,要配合 outDir 使用

json
{
    "compilerOptions": {
        "outDir": "./src/js",
        "allowJs": true
    }
}
checkJs

是否检查 js 语法,值为布尔值

removeComments

是否移除注释

noEmit

不生成编译后文件,值为布尔值

noEmitOnError

当有错误时不生成编译后文件,值为布尔值

alwaysStrict

用来设置编译后的文件是否使用严格模式

noImplicitAny

不允许隐式 any 类型,值为布尔值

noImplicitThis

不允许不明确类型的 this

strictNullChecks

是否严格检查空值

script

所有严格检查的总开关

基于 MIT 许可发布