TS编译
tsconfig.json
是ts编译的配置文件,ts编译器可以根据它的信息来对代码进行编译
- include
- 用来指定哪些ts文件需要被编译
- 路径: ** 表示任意目录 * 表示任意文件
{ "include":[ "./src/**/*" //表示编译src下的所有ts文件 ] }
- exclude
- 不需要编译的文件目录
- 默认值[“node_modules”,“bower_components”,“jspm_packages”]
{ "exclude":[ "./src/hello/**/*" //表示不编译src的hello文件下的所有ts文件 ] }
- extends
- 定义被继承的配置文件
{ "extends":[ "./configs/base" //表示当前配置文件中会自动包含base.json中的所有配置信息 ] }
- 定义被继承的配置文件
- files
- 指定被编译文件的列表,只有需要编译文件少时才用的到
{ "filed":[ "core.ts", "tsc.ts", "parse.ts" ] }
- 指定被编译文件的列表,只有需要编译文件少时才用的到
- compilerOptions
- target: 用来指定ts被编译为的ES版本(不指定target会被默认编译为es3)
- ‘es3’,‘es5’,‘es2015’,‘es2016’,'es2017’等等
- module:指定要使用的模块化规范
- ‘commonjs’,‘es6’,‘es2015’,‘none’,'system’等等
- lib: 用来指定项目中要使用的库(一般不需要设置 [])
- ‘es6’,‘dom’
- outDir:用来指定编译后文件所在的目录
- ‘./dict’
- outFile:代码合并为一个文件
- 设置outFile后,所有的全局作用域中的代码会合并到同一个文件中
- allowJs: 是否对js文件进行编译
- 默认是false
- checkJs:是否检查js代码是否符合语法规范
- 默认是false
- removeComments: 是否移除注释
- 默认是false
- noEmit:不生成编译后的文件
- 默认是false
- noEmitOnError:当有错误时不生成编译后的文件
- 默认是false
- strict:所有严格检查总开关
- alwaysStrict: 用来设置编译后的文件是否使用严格模式
- 默认是false
- noImplicitAny:不允许隐式any类型
- 默认是false
- noImplicitThis:不允许不明确的this
- 默认是false
- strictNullChecks :严格检查空值
- 默认是false
- target: 用来指定ts被编译为的ES版本(不指定target会被默认编译为es3)