自动编译
单文件编译,多终端
tsc xxx.ts -w
编译所有文件
新建tsconfig.json
{
/*
tsconfig.json 是ts编译器的配置文件,ts编译器可以根据它
的信息来对代码进行编译
include:用来指定哪些ts文件需要被编译
**表示任意目录
*表示任意文件
exclude:不需要被编译的文件目录
默认值:["node_modules", "bower_components", "jspm_packages"]
extends: 继承(其他json文件)
files:编译的文件目录
*/
"include": [
"./src/**/*" //src下的所有文件
],
"exclude": [
"./src/hello/**/*"
]
/*
compilerOptions 编译器的选项
*/
"compilerOptions": {
//target 用来指定ts被编译为的ES的版本,默认ES3
//es3 es5 es6 es2015 ... es2020 esnext
"target": "ES3",
//module 指定要使用的模块化的规范
//none commonjs amd system umd es6 es2015 es2020 esnext
"module": "es2015",
//lib用来指定项目中要使用的库
"lib": ["dom", ...]
//outDir 用来指定编译后文件所在的目录
"outDir": "./dist",
//outFile 将代码合并为一个文件
//设置outFile后,所有的全局作用域中的代码会合并到同一个文件
//模块化只能使用amd、system
"outFile": "./dist/app.js"
//是否对js文件进行编译,默认false
"allowJs": false,
//是否对js语法进行检查,默认false
"checkJs": false,
//是否移除注释,默认false
"removeComments": true,
//不生成编译后的文件,默认false
"noEmit": true,
//当有错误时不生成编译文件,默认false
"noEmitOnError": false,
//严格检查的总开关,默认false
"strict": true,
//js文件加:"use strict";有模块代码,自动进入严格模式
//编译后的文件是否为严格模式,默认false
"alwaysStrict": false,
//不允许隐式的any类型,默认false
"noImplicitAny": true,
//不允许不明确类型的this,默认false
"noImplicitThis": false,
//严格的检查空值,默认false
//例:对dom节点绑定监听,dom节点可能不存在 box?.addE
"strictNullChecks": true
}
tsc -w //自动监视所有文件
tsc //编译所有文件