Table of Contents #
Обзор
Наличие файла tscofnig.json
в директории означает, что данная директория является корнем TypeScript-проекта. Файл tsconfig.json
указывает входные файлы и опции компилятора для сборки проекта. Проект компилируется одним из следующих способов:
Использование tsconfig.json
- Вызов
tsc
без указания входных файлов, в случае чего компилятор ищет файлtsconfig.json
, начиная с текущей директории и поднимаясь вверх по цепочке родительских директорий. - Вызов
tsc
без указания входных файлов и опцией--project
(или просто-p
), которая указывает путь к директории, содержащей файлtsconfig.json
.
Когда входные файлы указываются в командной строке, файлы tsconfig.json
игнорируются.
Примеры
Примеры файлов tsconfig.json
:
-
Использование свойства
"files"
{ "compilerOptions": { "module": "commonjs", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "outFile": "../../built/local/tsc.js", "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": "commonjs", "noImplicitAny": true, "removeComments": true, "preserveConstEnums": true, "outFile": "../../built/local/tsc.js", "sourceMap": true }, "include": [ "src/**/*" ], "exclude": [ "node_modules", "**/*.spec.ts" ] }
Подробности
Свойство "compilerOptions"
можно пропускать, в этом случае компилятор использует значения по умолчанию. Смотрите полный список опций компилятора.
Свойство "files"
принимает список относительных или абсолютных путей к файлам. Свойства "include"
и "exclude"
принимают список файловых масок. Поддерживаемые символы замены в файловых масках:
*
соответствует нулю или более символам (кроме разделителей директорий)?
соответствует одному любому символу (кроме разделителя директорий)**/
рекурсивно соответствует любой поддиректории
Если сегмент файловой маски содержит только *
или .*
, то включены будут только файлы с поддерживаемыми расширениями (т. е., .ts
, .tsx
или .d.ts
по умолчанию, и .js
и .jsx
если allowJs
установлено в true
).
Если и "files"
и "includes"
не указаны, компилятор включает все файлы TypeScript (.ts
, .d.ts
и .tsx
) в содержащей директории и ее поддиректориях кроме тех, которые исключены с помощью свойства "exclude"
. Также включаются JS-файлы (.js
и .jsx
), если allowJs
установлено в true
. Если указаны свойства "files"
или "include"
, компилятор вместо этого включит объединение файлов, указанных в этих двух свойствах. Файлы в директории, указанной посредством опции компилятора "outDir"
всегда исключаются, если только явно не включены через свойство "files"
(даже если указано свойство exclude
).
Файлы, включенные с помощью "include"
могут быть отфильтрованы с помощью свойства "exclude"
. Тем не менее, файлы, явно включенные через свойство "files"
включаются всегда, несмотря на "exclude"
. Свойство "exclude"
, если не указано, по умолчанию исключает директории node_modules
, bower_components
, и jspm_packages
.
Любые файлы, на которые ссылаются файлы, включенные через "files"
или "include"
, также включаются. Аналогично, если файл A.ts
ссылается на B.ts
, то B.ts
не может быть исключен, если только ссылающийся на него файл A.ts
также не будет указан в списке "exclude"
.
Файл tsconfig.json
может быть совершенно пуст, в таком случае компилируются все файлы, включаемые по умолчанию (как указано выше) с опциями компилятора по умолчанию.
Опции компилятора, указываемые через командную строку, перезаписывают опции, указанные в файле tsconfig.json
.
compileOnSave
Указание на верхнем уровне свойства compileOnSave
указывает IDE генерировать все файлы для данного tsconfig.json
при сохранении.
{ "compileOnSave": true, "compilerOptions": { "noImplicitAny" : true } }
Эта возможность на данный момент поддерживается в Visual Studio 2015 с TypeScript 1.8.4 и выше и дополнением atom-typescript.
Структура
Описание структуры находится по адресу: http://json.schemastore.org/tsconfig
Поддержите перевод документации:
Documentation generated by mdoc.