Что такое tsconfig.json
Обзор
Наличие файла tsconfig.json в каталоге указывает, что этот каталог является корнем проекта TypeScript. Файл tsconfig.json определяет корневые файлы и параметры компилятора, необходимые для компиляции проекта.
Проекты JavaScript могут использовать файл jsconfig.json вместо него, который действует практически так же, но по умолчанию включает некоторые параметры компилятора, относящиеся к JavaScript.
Проект компилируется одним из следующих способов:
Использование tsconfig.json или jsconfig.json
- Вызвав tsc без входных файлов, в этом случае компилятор ищет файл
tsconfig.json, начиная с текущего каталога и продолжая вверх по цепочке родительских каталогов. - Вызвав tsc без входных файлов и с опцией командной строки
--project(или просто-p), которая указывает путь к каталогу, содержащему файлtsconfig.json, или путь к допустимому файлу.json, содержащему конфигурации.
Когда входные файлы указаны в командной строке, файлы tsconfig.json игнорируются.
Примеры
Примеры файлов tsconfig.json:
-
Использование свойства
files{ "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" ] } -
Использование свойств
includeиexclude{ "compilerOptions": { "module": "system", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "outFile": "../../built/local/tsc.js", "sourceMap": true }, "include": ["src/**/*"], "exclude": ["**/*.spec.ts"] }
Базовые файлы tsconfig
В зависимости от среды выполнения JavaScript, в которой вы планируете запустить свой код, может быть базовая конфигурация, которую можно использовать на github.com/tsconfig/bases. Это файлы tsconfig.json, от которых ваш проект наследуется, что упрощает вашу работу tsconfig.json, обрабатывая поддержку среды выполнения.
Например, если вы пишете проект, который использует Node.js версии 12 и выше, вы можете использовать модуль npm @tsconfig/node12:
{
"extends": "@tsconfig/node12/tsconfig.json",
"compilerOptions": {
"preserveConstEnums": true
},
"include": ["src/**/*"],
"exclude": ["**/*.spec.ts"]
} Это позволяет вашему проекту tsconfig.json сосредоточиться на уникальных решениях, а не на всех механизмах среды выполнения. Уже доступно несколько баз tsconfig, и мы надеемся, что сообщество добавит больше для разных сред.
Детали
Свойство "compilerOptions" можно опустить, в этом случае используются значения по умолчанию компилятора. См. наш полный список поддерживаемых параметров компилятора.
Ссылка tsconfig
Чтобы узнать больше о сотнях параметров конфигурации в Справочнике TSConfig.
Схема
Схема tsconfig.json находится на странице JSON Schema Store.
© 2012-2023 Microsoft
Licensed under the Apache License, Version 2.0.
https://www.typescriptlang.org/docs/handbook/tsconfig-json.html