配置预览
{
"include": ["src/**/*"],
"exclude": ["ndoe_modules", "src/test/*"],
"compilerOptions": {
"target": "es6",
"module": "amd",
"outDir": "./dist",
"outFile": "./dist/bundle.js",
"strict": true
}
}
配置选项
1.include
- 定义希望被编译文件所在的目录
- 默认值:["*/"]
** 代表任意目录 * 代表任意文件
"include": ["src/**/*", "tests/**/*"]
2.exclude
- 定义需要排除的目录
- 默认值:["node_modules", "bower_components", "jspm_packages"]
"exclude": ["src/test/*"]
3.extends
- 定义被继承的配置文件
// 当前配置文件中会自动包含config目录下tsconfig.json的所有配置信息
"extends": "./config/tsconfig"
4.files
- 指定被编译文件的列表
"files": ["src/test.ts", "src/views/index.ts"]
编译选项
"compilerOptions: { ... }"
1.target
- 设置ts编译的目标版本
- 可选值:es3(默认),es5,es6,es7,es2017,es2018,es2019,es2020,esnext
"compilerOptions": {
"target": "es6"
}
2.module
- 指定要使用的模块化规范
- 可选值:none,commonjs,amd,system,umd,es6,es2015,es2020,esnext
"compilerOptions": {
"target": "es6",
"module": "amd"
}
3.lib
- 指定代码运行时所包含的库(宿主环境)
- 一般运行在浏览器的js程序不需要设置此项
- 可选值: es5,...,esnext,dom,webworker,scripthost, ...
"compilerOptions": {
"target": "es6",
"module": "es6",
"lib": ["es6", "dom"]
}
4.outDir
- 编译后文件输出目录
// 编译文件统一输出到dist目录
compilerOptions: {
"outDir": "./dist"
}
5.outFile
- 编译后文件统一合并为一个文件
// 编译文件统一合并输出到dist目录下的app.js文件
compilerOptions: {
"outDir": "./dist",
"outFile": "./dist/app.js"
}
6.其他
- allowJs: 是否对js文件进行编译,默认为false
- checkJs: 是否检查js文件语法规范,默认false
- removeComments: 是否移除注释, 默认true
- noEmit: 不生成编译后的文件,通常用作检测ts语法是否规范, 默认false
- noEmitOnError: 当有错误时不生成编译后的文件, 默认true
- alwaysStrict: 设置编译后的文件是否使用严格默认,默认false
- noImplicitAny: 不允许隐式的any, 默认false
- noImplicitThis: 不允许隐式的this, 默认false
- strictNullChecks: 严格的检查空值,默认false
- strict: 所有严格检查的总开关, 默认false
compileOptions: {
"allowJs": false,
"checkJs": false,
"removeComments": true,
"noEmit": false,
"noEmitOnError": true,
"alwaysStrict": false,
"noImplicitAny": false,
"noImplicitThis": false,
"strictNullChecks": false,
"strict": false
}