tsconfig.json中的配置修改后,命令行直接运行tsc不带任何参数才能生效
tsc默认会对根目录下的所有ts文件(包括子文件夹内的)进行编译
tsc-node工具,即使后跟文件也会使用tsconfig.json
编译文件到指定目录
(1)将package.json中'scripts'内
添加命令"build":"tsc -w"
-w:自动监测ts文件的改变
(2)修改tsconfig.json
"outDir": "./xx", 即可指定将ts文件输出到项目最外层目录开始的指定目录
(3)同时运行多条命令
下载
cnpm install -D currently
编译指定文件列表
和"compilerOptions"同级设置
files:['相对或绝对文件路径'] 只能指定文件而非文件夹
编译/不编译指定ts文件,支持glob文件匹配模式(*、**)
和"compilerOptions"同级设置
./为项目最外层目录
"include":["./x.ts"], 只编译该ts文件 支持文件夹
:['src/*'] 编辑src下一级目录的文件
"exclude":["./x.ts"] 编译除了该文件以外的ts文件,支持文件夹
导入外部配置文件(.json格式)
和"compilerOptions"同级设置
"extends":"文件路径" 导入的文件会覆盖源文件配置项
保存文件自动编译
compileOnSave:true 保存文件自动编译,vscode暂不支持
约束类型any是否能够省略
"noImplicitAny"
清除评论:
"removeComments"
null可以赋值给任意类型
"strictNullChecks"
指定项目编译路径
"rootDir": "./", ./为项目最外层路径
指定项目输出路径
"outDir": "./",
指定项目基础路径(在只写绝对路径时会自动添加基础路径前缀)
相对路径:./ ../ / 以外的路径为绝对路径
绝对路径:x
"baseUrl":'./src'
增量编译(只编译增加的内容)
"incremental"
是否编译js文件
"allowJs"
变量定义未使用警告
"noUnusedLocals"
函数参数未使用警告
"noUnusedParameters"
允许null和undefined赋值
"strictNullChecks": false,
实现CommonJS和ES模块之间的互操作性
"esModuleInterop": true,
如使得export=导出的内容可以使用三种方式操作,关闭只能使用最后一种
import .. from ...;
const xx=require('xx')
import xx=require('xx');
运行umd库全局引入(script标签引入),而非模块引入(import/require)
"allowUmdGlobalAccess": true,
配置运行时虚拟目录(即引用的文件最终打包的路径和文件中使用时不同)
rootDir:['目录','目录']
若知道两个目录会被打包到一起,但在未打包前未在一起,即可通过该方式在运行时放在同一个目录中,避免打包后路径引用错误
即引用时'./即可',即模拟打包后的运行
不允许this具有隐式any类型,即this指向不明确
"noImplicitThis": true,
如在类中:
class x{
fn(){
return function():number{
return this.x+this.y
}
}
}
设置路径别名
"baseUrl":'.' 设置查找基本路径,如果是当前目录,'.'即可
"path":{ 使用path必须配置baseUrl
'模块名称':'查找路径',
'模块名称':['查找路径1','查找路径2'],
"*":["node_modules/@types","src/@typings/*"] 常用的声明文件路径配置,*表示匹配所有模块
}