热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

配置tsconfig(文件选项)

如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录。一个项目可以通过以下方式之一来编译:不带

如果一个目录下存在一个 tsconfig.json 文件,那么它意味着这个目录是 TypeScript 项目的根目录。一个项目可以通过以下方式之一来编译:

  • 不带任何输入文件的情况下调用 tsc,编译器会从当前目录开始去查找 tsconfig.json 文 件,逐级向上搜索父目录。
  • 不带任何输入文件的情况下调用 tsc,且使用命令行参数 --project(或 -p )指定一个包含 tsconfig.json 文件的目录。
  • 当命令行上指定了输入文件时,tsconfig.json 文件会被忽略。

如果 tsconfig.json 中没有任何配置,会按照默认配置编译当前目录下所有 ts 文件(tsd.tstsx)。

文件选项


files


编译器需要编译的单个文件列表(相对或绝对文件路径)。

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

此时执行 tsc 命令,编译器会编译 src/a.ts 文件。

include


编译器需要编译的文件或者目录

{"include": ["src"]
}

此时执行 tsc 命令,编译器会编译 src 下的所有文件。

includes 配置支持 glob 通配符:\*?\*\*:

{"include": ["src/*"]
}

此时执行 tsc 命令,编译器会编译 src 下一级目录的文件。

编译器会编译includefiles合并后的内容。

exclude


编译器需要排除的文件或者目录,默认会排除 node_modules 目录下的所有文件和声明文件。

{"exclude": ["src/lib"]
}

  • 如果 exclude 存在,exclude 配置优先级高于 filesincludes 配置
  • exclude 也配置支持 glob 通配符:\*?\*\*

extend


配置文件之间是可以继承的,我们可以抽离基础部分方便复用。

// tsconfig.base.json
{"files": ["src/a.ts"],"include": ["src"],"exclude": ["src/lib"]
}

// tsconfig.json
{"extends": "./tsconfig.base.json"
}

在主配置文件中,设置选项会覆盖掉继承文件中的相同的配置项。

compileOnSave


在保存文件时,编译器自动编译。

{"compileOnSave":true
}

然而,需要 TypeScript 1.8.4 及以上版本,且只有个别 IDE 支持:

  • Visual Studio 2015 with Update 3
  • JetBrains WebStorm
  • Atom with atom-typescript

笔者亲测,vscode 安装插件 TypeScript Auto Compiler 可行。


推荐阅读
author-avatar
majiemajiemajie
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有