微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

TypeScript配置属性

TypeScript配置属性需要先创建一个tsconfig.json文件
配置选项:
(包含)include:
定义希望被编译的目录
认值:["**/*"]
示例:

"include":["./src/**/*","tests/**/*"]	
//**:所有目录  *:所有文件`
上述示例中,所有src目录和tests目录下的文件都会被编译

exclude
定义需要排除在外的目录
认值:[“node_modules”,“bower_components”,“jspm_packages”]
示例:

"exclude":["./src/hello/**/*"]	
//**:所有目录  *:所有文件`

上述示例中,所有src下hello目录下的文件都不会被编译

extends
定义被继承的配置文件
示例:

"extends":"./cofigs/base"

上述示例中。当前配置文件中会自动包含config目录下base.json中的所有配置信息。

files
指定被编译文件的列表,只有需要编译的文件少时才会得到
示例:

"files":[
		"cpre.ts",
		"sys.ts",
		"types.ts",
		"scanner.ts",
		"parser.ts",
		"utilities.ts",
		"binder.ts",
		"checler.ts",
		"tsc.ts"
		]

列表中的文件都会被TS编译器所编译

compilerOptions
编译选项是配置文件中非常重要也比较复杂的配置选项
在compilerOptions中包含多个子选项,用来完成对编译的配置
项目选项
target
设置ts代码编译的目标版本
可选值:ES3(认)、ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext
示例:

“compilerOptions”:{
					"target":"ES6"
					}
		lib
		   指定代码运行时所包含的库(宿主环境)
		   可选值:ES5、ES6/ES2015、ES7/ES2016、ES2017、ES2018、ES2019、ES2020、ESNext、DOM、WebWorker、SciptHost......
		   示例:
“compilerOptions”:{
					"target":"ES6",
					"lib":["ES6","DON"]
					}
		 module
		  	指定要使用的模块化的规范
		  	可选值:'none ' , ' commonjs ' , 'amd ' , 'system ' , 'umd ' , 'es6 ' , 'es2015' , 'ES2020 ' , 'esnext'
						   示例:
“compilerOptions”:{
					"target":"ES6",
					"module":"ES6"
					}
			outDir 
			   指定编译后文件所在的目录
			 outFile
			   将代码合并为一个文件,设置后所有的全局作用域中的代码会合并到同一个文件中
			   示例:
“compilerOptions”:{
					"target":"ES6",
					"lib":["ES6","DON"],
					"outDir":"dist",
					"outFile":"dist/aa.js"
					}
				allowJS
				   是否对js文件进行编译,认是f'alse
				 checkJs
				   是否检查JS代码是否符合语法规范,认值false
				  removeComments
				   是否移除注释,认值false
				 noEmit 
				   不生成编译后的文件认值false
				  noEmitOnError
				   当有错误不生成编译后的文件认值false
				   strict
				   所有严格检查的总开关。认值为false
				  alwaysstrict
				    用来设置编译后的文件是否使用严格模式 ,认值false
				   noImplicitAny
				    不允许隐式的any类型,认值false
				  noImplicitThis
				     不允许不明确类型的this,认值false
				   strictnullchecks
				     严格的检查空值,认值false

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐