TypeScript配置文件说明 (2)

var a = 2;
function fun(){
if(a === 1){
return \'abc\';
}
//fun函数只有当a = 1的时候,才有确定的返回值。
}
1.1.41、noFallthroughCasesInSwitch: boolean

设置为true时,将严格校验switch-case语法。

function fun2(){
let key = \'ab\';
switch (key) {
case \'ab\':
console.log(\'abc\');
}
}
以上代码默认情况不会报错,当设置noFallthroughCasesInSwitch: true时,则会提示错误。

1.1.42、allowUnreachableCode: boolean

设置为true时,如果有无法访问的代码,也不会报错。

function fun(){
return \'abc\';
return \'ccc\'; //默认会报错,设置allowUnreachableCode为true时,则不报错
}
1.1.43、forceConsistentCasingInFileNames: boolean

设置为true时,将强制区分大小写。默认为false。

//2a.ts
export const PI = 3.1415926;
//1a.ts
import PI from \'./2A.ts\';
function fun(){
return PI;
}
以上代码默认可以通过,当强制区分大小写时,则提示错误 \'2a\' !== \'2A\'

1.1.44、allowSyntheticDefaultImports: boolean

设置为true时,则允许从没有默认导出的模块中默认导入(也就是不做检查)。

//2.ts
export const PI = 3.1415926;
//1.ts
import PI from \'./2.ts\';
function fun(){
return PI;
}
以上代码,默认是会报错的,当设置allowSyntheticDefaultImports时,则不会报错。

1.1.45、allowJs: boolean

当设置为true时,js文件也会被编译。

注意:编译js文件时,如果不另外设置outFile,将不会成功,因为不能够重写源代码文件

1.2、compileOnSave
该属性用于启用保存时编译功能。

**注意:当前仅仅只有VS2015配置TypeScript1.8.4以后或者在atom中搭配atom-typescript插件才有效

1.3、exclude
exclude用于排除不需要编译的ts文件。该属性和files属性冲突。两者只能设置其一。

1.4、files
当files属性不存在时,编译器会编译当前目录和子目录中的所有文件。当files属性存在是,仅仅是编译files列表中的文件。

该属性和exclude属性冲突。如果同时指定了exclude和files,则files属性优先。

2、常用tsconfig配置
{
"compilerOptions": {
"target": "ES5",
"module": "commonjs",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"sourceMap": true,
"noEmitHelpers": true
},
"exclude": [
"node_modules",
"typings/main",
"typings/main.d.ts"
],
"compileOnSave": false
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpzpz.html