tsconfig.json 简介
如果想监视全部文件,需要新建一个 tsconfig.json 文件,tsconfig.json 文件中指定了用来编译这个项目的根文件和编译选项。使用 webstorm 可以右键创建一个
或使用 tsc --init
会自动生成一个
有了这个文件,我们可以使用tsc -w
命令,让 tsc 监视文件变化从而实现实时编译,例如监视 hello_ts.ts 可以执行 tsc hello_ts.ts -w
取消监视可以按 ctrl+c
tsc
命令则可以编译所有文件
tsc -w
命令则可以监视所有文件
编译选项(1)
{
/**
include 属性作用是指定编译需要编译的文件或目录
路径:** 任意目录
*任意文件
所以下面的路径表示编译src下任意目录的任意文件
exclude 属性作用是指定编译器需要排除的文件或文件夹
extends 用来指定继承的配置文件
files 用来指定被编译的文件列表,只有编译少量文件才使用
**/
"include": [
"./src/**/*"
],
"exclude": [
"./src/hello/**/*"
],
"extends": "./tsconfig.base.json",
"files": [
"./src/app.ts",
"./src/hello/hello.ts"
],
}
编译选项(2)
"compilerOptions": {
"target": "ES6",//用来指定ts被编译为的ES版本
"module": "CommonJS",//生成代码的模板标准
//TS需要引用的库,即声明文件,一般不需要改
//es5 默认引用dom、es5、scripthost
//如需要使用es的高级版本特性,通常都需要配置,如es8的数组新特性需要引入"ES2019.Array"
//"lib": ["DOM", "ES2015", "ScriptHost", "ES2019.Array"]
"outDir": "./dist",//指定输出目录 不指定的话我们看到编译后的js和ts是同一级
//设置outfile后,所有的全局作用域中的代码会合并到同一个文件
//"outFile": "./app.js"
"allowJS": true, //允许编译器编译JS,JSX文件
"checkJs": true, //允许在JS文件中报错,通常与allowJS一起使用
"removeComments":true, //删除注释
"noEmit": true, //不输出文件,即编译后不会生成任何js文件
"noEmitOnError": true, //有错误时不生成js文件
"alwaysStrict": true, //在代码中注入'use strict',严格模式更多学习:https://www.runoob.com/js/js-strict.html
"noImplicitAny": true, //不允许隐式的any类型
"noImplicitThis": true, //不允许不明确类型的this
"strictNullChecks": true, //不允许把null、undefined赋值给其他类型的变量
"strict": true, //开启所有严格的类型检查
}
学习更多:
了不起的 tsconfig.json 指南