若是一個目錄下存在一個tsconfig.json文件,那麼意味着這個目錄是TypeScript的根目錄。node
tsconfig.json文件中指定了用來編譯這個項目的根文件和編譯選項。一個項目能夠經過如下方式之一來編譯:json
tsconfig.json示例文件:bash
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": true
},
"files": [
"core.ts",
"sys.ts",
"types.ts",
"scanner.ts",
"parser.ts",
"utilities.ts",
"binder.ts",
"checker.ts",
"emitter.ts",
"program.ts",
"commandLineParser.ts",
"tsc.ts",
"diagnosticInformationMap.generated.ts"
]
}複製代碼
{
"compilerOptions": {
"module": "system",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"outFile": "../../built/local/tsc.js",
"sourceMap": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}複製代碼
"compilerOptions"能夠被忽略,這時編譯器會使用默認值。ui
"files"指定了一個包含相對或絕對文件路徑的列表。"include"和"exclude"屬性指定一個文件glob匹配模式列表,支持的glob通配符有:spa
若是一個glob模式裏的某部分只包含*或者.*,那麼僅有支持的文件擴展名類型被包含在內。命令行
若是"files"和"include"都沒有被指定,編譯器默認包含當前目錄和子目錄下全部的TypeScript文件(.ts,.d.ts,.tsx)code