1、编译单个文件命令
tsc xx.ts
2、监测单个文件,如果xx.ts发生了更改,会被监测并自动编译
tsc xx.ts -w
3、编译一个项目的所有ts文件
在文件夹根目录新建一个tsconfig.json文件执行命令 tsc,编译文件夹下的ts文件
4、监测一个项目的所有ts文件
在文件夹根目录新建一个tsconfig.json文件执行命令 tsc -w,监测文件夹下的ts文件
tsconfig.json配置
{
/*
tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译
“include”用来指定那些ts文件
路径:**表示任意目录
*表示任意文件
"exclude" 不需要被编译的文件目录
默认值:["node_modules", "bower_components", "jspm_packages"]
"extends" 定义被继承的配置文件
*/
"include": [
"./src/**/"
],
"exclude": [
// "./src/hello/**/*"
],
"files": [
],
/*
compilerOptions编辑器的选项
target 用来指定ts被编译为的ES的版本,默认‘ES3’
可选值 'es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext'.
module 指定要使用的模块化
可选值 'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node12', 'nodenext'.
lib 用来指定 项目中要使用的库(一般不动)
可选值 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext',
'dom', 'dom.iterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'scripthost', 'es2015.core',
'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect',
'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2017.object', 'es2017.sharedmemory',
'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl',
'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2020.bigint',
'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2021.promise',
'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.object', 'es2022.string', 'esnext.array',
'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref'.
outDir 指定编译后文件所在的目录,一般放在dist目录
outFile将代码合并为一个文件 设置outFile之后,将所哟全局作用域中的代码合并到同一个文件中
rootDir用来指定编译文件的根目录,编译器会在根目录查找入口文件
allowJs用来指定是否允许编译JS文件,默认false,即不编译JS文件
checkJs用来指定是否检查和报告JS文件中的错误,默认false
removeComments用于指定是否将编译后的文件注释删掉,设为true的话即删除注释,默认为false
noEmit不生成编译文件 默认false
noEmitOnError 当有错误时不生成编译后的文件
语法检查相关
alwaysStrict 用来设置编译后的文件是否使用严格模式 默认false
noImplicitAny 不允许隐式any类型 默认false
noImplicitThis 检查不明类型的this 默认false
strictNullChecks 严格检查Null 默认false
strict 所有严格检查的总开关 默认false 一般写在上面设置为true,想关谁再关,是我们的代码更严谨
*/
"compilerOptions": {
"target": "es2015",
"module": "es2015",
// "lib": ["es6", "dom"],
"outDir": "./dist",
// "outFile": "./dist/app.js"
"strict": false,
"noEmitOnError": true,
"alwaysStrict": true,
"noImplicitAny": true,
"noImplicitThis": false,
"strictNullChecks": false
}
}