配置預(yù)覽
{
"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
- 定義被繼承的配置文件
// 當(dāng)前配置文件中會自動包含config目錄下tsconfig.json的所有配置信息
"extends": "./config/tsconfig"
4.files
- 指定被編譯文件的列表
"files": ["src/test.ts", "src/views/index.ts"]
編譯選項
"compilerOptions: { ... }"
1.target
- 設(shè)置ts編譯的目標(biāo)版本
- 可選值:es3(默認),es5,es6,es7,es2017,es2018,es2019,es2020,esnext
"compilerOptions": {
"target": "es6"
}
2.module
- 指定要使用的模塊化規(guī)范
- 可選值:none,commonjs,amd,system,umd,es6,es2015,es2020,esnext
"compilerOptions": {
"target": "es6",
"module": "amd"
}
3.lib
- 指定代碼運行時所包含的庫(宿主環(huán)境)
- 一般運行在瀏覽器的js程序不需要設(shè)置此項
- 可選值: es5,...,esnext,dom,webworker,scripthost, ...
"compilerOptions": {
"target": "es6",
"module": "es6",
"lib": ["es6", "dom"]
}
4.outDir
- 編譯后文件輸出目錄
// 編譯文件統(tǒng)一輸出到dist目錄
compilerOptions: {
"outDir": "./dist"
}
5.outFile
- 編譯后文件統(tǒng)一合并為一個文件
// 編譯文件統(tǒng)一合并輸出到dist目錄下的app.js文件
compilerOptions: {
"outDir": "./dist",
"outFile": "./dist/app.js"
}
6.其他
- allowJs: 是否對js文件進行編譯咖耘,默認為false
- checkJs: 是否檢查js文件語法規(guī)范,默認false
- removeComments: 是否移除注釋, 默認true
- noEmit: 不生成編譯后的文件屋摇,通常用作檢測ts語法是否規(guī)范, 默認false
- noEmitOnError: 當(dāng)有錯誤時不生成編譯后的文件, 默認true
- alwaysStrict: 設(shè)置編譯后的文件是否使用嚴格默認处铛,默認false
- noImplicitAny: 不允許隱式的any, 默認false
- noImplicitThis: 不允許隱式的this, 默認false
- strictNullChecks: 嚴格的檢查空值沙热,默認false
- strict: 所有嚴格檢查的總開關(guān), 默認false
compileOptions: {
"allowJs": false,
"checkJs": false,
"removeComments": true,
"noEmit": false,
"noEmitOnError": true,
"alwaysStrict": false,
"noImplicitAny": false,
"noImplicitThis": false,
"strictNullChecks": false,
"strict": false
}