tsc xxx.ts
将TS代码编译转换为JS才能正确执行。这样每次修改每次都进行手动编译不是很方便,可以使用tsc xxx.ts -w
来监听文件是否有变化,一旦检测文件发生变化,就会实时的将TS转换成JS。tsconfig.json
文件来配置TS的编译信息tsc --init
来创建该文件信息tsconfig.json
之后,通过tsc
就能编译项目下所有的TS文件,通过tsc -w
就能监视所有的TS文件并编译tsconfig.json
之后,虽然可以“一键”编译,但是有时我们只希望编译其中一部分的ts代码,这时,就需要我们对tsconfig.json
文件进行一定的配置,以满足我们对编译项目的要求include:
指定需要编译的文件或目录,*表示任意文件,**表示任意目录
exclude:
指定不需要编译的文件或目录extents:
可以复用之前已有的json文件,减少重复配置file:
用于指定单个的文件,范围较小不常用{/*tsconfig.json是ts编译器的配置文件,ts编译器可以根据它的信息来对代码进行编译*///inclode用来指定哪些ts文件需要被编译 可*表示任意文件 可**表示任意目录"include": ["./src/**/*" //表示当前的src目录下的任意目录的任意文件都被编译],//配置不希望被编译的文件,一般不用进行配置//有默认值:["node_modules", "bower_components", "jspm_packages"]"exclude": ["./src/test_file/**/*"],//定义需要继承的配置文件,避免重复配置//"extends": "",//直接指定需要编译的文件,不常用,项目比较小的时候适用"files": ["./src/test_file/test_case.ts"]
}
"compilerOptions": {// 用来指定TS文件编译时的ES版本,默认为ES3// 可取值:es3', 'es5', 'es6', 'es2015', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'esnext"target": "ES5",// 指定需要使用的模块化的规范// 可取值:'none', 'commonjs', 'amd', 'system', 'umd', 'es6', 'es2015', 'es2020', 'es2022', 'esnext', 'node16', 'nodenext'"module": "System",// 用来指定项目中需要使用到的库文件, 随便赋值后可以查看具体值,一般情况下不需要动//"lib": []// 用于指定编译结束后的文件输出的位置"outDir": "./dist",// 用来将不同代码合并为一个文件,将编译输出的js文件合成一个文件// 这个选项是对module文件有一定要求的"outFile": "./dist/outJS.js",// 是否对js文件进行编译,默认false"allowJs": false,// 是否检查js代码是否符合语法规范"checkJs": false,// 是否移除注释,默认false"removeComments": false,// 不生成编译后的文件,默认false"noEmit": false,// 当有错误时不生成编译后的文件"noEmitOnError": false,// 用来设置编译后的文件是否使用严格模式"alwaysStrict": false,// 是否禁止隐式的any类型"noImplicitAny": false,// 不允许类型不明确的this"noImplicitThis": false,// 严格的检查null的值,让编译器检测出有可能是null的值"strictNullChecks": false,// 所有严格检查的总开关,打开的话所有的严格检查都会打开"strict": false}
笔记markdown文件+项目源码
B站对应视频