TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript 项目的根目录。
通常 tsconfig.json 文件主要包含两部分内容:指定待编译文件和定义编译选项。

1:生成 tsconfig.json 文件

这个文件是通过tsc --init命令生成的,在桌面上新建一个文件夹TsDemo,然后打开VSCode,把文件托到编辑器中,然后打开终端Terminal,输入tsc --init。

输入完成后,就会出现tsconfig.json文件,你可以打开简单的看一下,不过此时你可能看不懂。

其实它就是用来配置如何对ts文件进行编译的,我们都叫它 typescript 的编译配置文件。

如果此时你的tsc执行不了,很有可能是你没有全局安装 TypeScript,可以全局安装一下。

2:让 tsconfig.json 文件生效

你现在可以在文件夹跟目录建立一个demo.ts文件,然后编写一些最简单的代码,代码如下:

const person: string = "guanchao";

这时候我们不在使用ts-node直接执行了,需要用tsc demo.ts进行编译,编译后会得到demo.js文件。 生成的代码如下:

var person = "guanchao";

这时候好像一切都是正常的,但是我要告诉你的真相是tsconfig.json这个编译配置文件并没有生效。

此时我们打开tsconfig.json文件,找到complilerOptions属性下的removeComments:true选项,把注释去掉。

这个配置项的意思是,编译时不显示注释,也就是编译出来的js文件不显示注释内容。

现在你在文件中加入一些注释,比如:

// I love guanchao
const person: string = "guanchao";

这时候再运行编译代码tsc demo.ts,编译后打开demo.js文件,你会发现注释依然存在,说明tsconfig.json文件没有起作用。

如果要想编译配置文件起作用,我们可以直接运行tsc命令,这时候tsconfig.json才起作用,可以看到生成的js文件已经不带注释了。

3:include 、exclude 和 files

那现在又出现问题了,如果我们的跟目录下有多个ts文件,我们却只想编译其中的一个文件时,如何作?

我们在项目根目录,新建一个文件demo2.ts文件,然后也写一段最简单的 ts 代码。

const person2: string = "guanchao.site";

如果这时候我们在终端里运行tsc,虽然tsconfig.json生效了,但是两个文件都被我们编译了。这不是你想要的结果,我们可以用三种办法解决这个问题。

第一种:使用 include 配置

include属性是用来指定要编译的文件的,比如现在我们只编译demo.ts文件,而不编译demo2.ts文件,就可以这样写。

写配置文件时有个坑需要注意,就是配置文件不支持单引号,所以里边都要使用双引号。

"include":["demo.ts"], "compilerOptions": { //any something //........

这时候再编译,就只编译demo.ts文件了。

第二种:使用 exclude 配置

include是包含的意思,exclude是不包含,除什么文件之外,意思是写再这个属性之外的而文件才进行编译。比如你还是要编译demo.ts文件,这时候的写法就应该是这样了。

"exclude":["demo2.ts"], "compilerOptions": { //any something //........

这样写依然只有demo.ts被编译成了js文件。

第三种:使用 files 配置

files的配置效果和include几乎一样,我是没找出有什么不同,只要配置到里边的文件都可以编译,如果有小伙伴知道有什么不同的,欢迎在视频下方留言,然后一起学习。

"files":["demo.ts"], "compilerOptions": { //any something //........

结果是依然只有demo.ts文件被编译。

有好的建议,请在下方输入你的评论。

欢迎访问个人博客
https://guanchao.site

欢迎访问小程序:

TypeScript 使用 tsconfig.json 文件作为其配置文件,当一个目录中存在 tsconfig.json 文件,则认为该目录为 TypeScript 项目的根目录。通常 tsconfig.json 文件主要包含两部分内容:指定待编译文件和定义编译选项。1:生成 tsconfig.json 文件这个文件是通过tsc --init命令生成的,在桌面上新建一个文件夹TsDemo,然后打开VSCode,把文件托到编辑器中,然后打开终端Terminal,输入tsc --init。输入完成后,就 如果一个目录下存在一个tsconfig.json文件,那么它意味着这个目录是TypeScript项目的根目录。 tsconfig.json文件中指定了用来编译这个项目的根文件和编译选项。 一个项目可以通过以下方式之一来编译: 使用tsconfig.json 不带任何输入文件的情况下调用tsc,编译器会从当前目录开始去查找tsconfig.json文件,逐级向上搜索父目录。 不带任何输入文件的情况下调用tsc,且使用命令行参数–project(或-p)指定一个包含tsconfig.json文件的目录。 当命令行上指定了输入文件时,tsconfig.json文件会被忽略。 2.把自动生成tsconfig.json中的outDir改了路径,不改也行,有注释就解开 3.vscode里终端 ->运行任务 ->TypeScript ->tsc:监视 - tsconfig.json 以上操作后保存之后就不用在去敲 tsc 文件名来编译了
生成tsconfig.json 这个文件是通过tsc --init命令生成的,在桌面上新建一个文件夹TsDemo,然后打开VSCode,把文件托到编辑器中,然后打开终端Terminal,输入tsc --init。 输入完成后,就会出现tsconfig.json文件,你可以打开简单的看一下,不过此时你可能看不懂。 其实它就是用来配置如何对ts文件进行编译的,我们都叫它 typescript 的编译配置文件。 如果此时你的tsc执行不了,很有可能是你没有全局安装 TypeScript,可以全局安装一下。
tsc --init生成tsconfig.json后VScode报错 这是因为有了tsconfig.json后,VScode会自动在include和exclude包含的范围中查找ts文件,如果找不到ts文件就会报错,当在include和exclude范围中添加了ts文件,VScode就不会报错了 当前目录没有ts文件 当前目录添加ts文件后,VScode不报错
前言:我们都知道浏览器目前无法直接识别ts文件,因此需要使用tsc将其编译成js文件才能在浏览器环境中运行。现在存在的最大问题就是每次更新ts文件之后,都需要使用tsc进行编译,我们可以使用tsc -w指令检测单个文件的实时更新编译,但是面对项目中众多的ts文件,部分需要编译成js文件,而部分不需要编译成js文件,如何实现此功能便是tsconfig.json配置文件存在的意义。本文将对tsconfig.json文件各项配置信息进行详细介绍: 一、创建tsconfig.json编译配置文件 此文件使...
"allowJs": true, // 允许从没有设置默认导出的模块中默认导入。这并不影响代码的显示,仅为了类型检查。 "allowSyntheticDefaultImports": true,
tsconfig.jsonTypeScript配置文件,它可以用于定义编译器的行为和编译选项。以下是 tsconfig.json 常用配置: 1. `compilerOptions`:这个配置选项可以定义 TypeScript 编译器的一系列常用选项,例如输出目录、目标版本、模块系统、严格模式等等。 2. `include`:指定哪些文件需要被编译。比起传统的通配符匹配方式,使用 `include` 可以减少编译时间。 3. `exclude`:指定哪些文件不需要被编译。与 `include` 相反,可以排除一些不必要的文件。 4. `files`:用于手动指定需要编译的文件列表。一般不建议使用,除非必要且列表较少。 5. `extends`:允许一个 tsconfig.json 文件继承另一个 tsconfig.json 文件的配置,可以减少配置文件的冗余。 6. `typeRoots`:用于告诉编译器从哪些路径中查找 .d.ts 文件。 7. `types`:指定需要包含的类型声明文件的名称,这些文件是通过 `typeRoots` 查找到的。 8. `baseUrl`:设置模块解析的基础路径,可以让路径更加简洁。 以上是 tsconfig.json 常用配置,通过合理的配置可以提高编译器的效率,也可以更好地组织项目结构。