Читать книгу Programowanie w TypeScript - Boris Cherny - Страница 14
tsconfig.json
ОглавлениеKażdy projekt TypeScriptu powinien zawierać w katalogu głównym plik o nazwie tsconfig.json. W pliku tsconfig.json projekty TypeScriptu definiują m.in. które pliki powinny być kompilowane, do którego katalogu mają być kompilowane i która wersja JavaScriptu ma być generowana.
Utwórzmy nowy plik o nazwie tsconfig.json w katalogu głównym (touch tsconfig.json)5, a następnie otwórzmy go w edytorze kodu i dodajmy do niego poniższe ustawienia:
{
“compilerOptions”: {
“lib”: [“es2015”],
“module”: “commonjs”,
“outDir”: “dist”,
“sourceMap”: true,
“strict”: true,
“target”: “es2015”
},
“include”: [
“src”
]
}
Przeanalizujmy pokrótce wybrane opcje i ich znaczenie (tabela 2.2):
Tabela 2.2. Opcje tsconfig.json
Opcja | Opis |
include | W których folderach TSC ma szukać plików TypeScript? |
lib | Jakie API można założyć, że istnieją w środowisku, w którym będzie uruchamiany kod? Dotyczy to takich metod, jak: Function.prototype.bind w ES5, Object.assign, w ES2015 i document.querySelector w DOM. |
module | Do jakiego systemu modułów TSC ma kompilować nasz kod (CommonJS, SystemJS, ES2015 itd.)? |
outDir | W jakim folderze TSC ma umieścić wygenerowany kod JavaScriptu? |
strict | Zastosowanie trybu ścisłego (najbardziej restrykcyjnego) podczas sprawdzania nieprawidłowości w kodzie. Ta opcja wymaga, aby w całym kodzie były stosowane odpowiednie typy. Będziemy używać tego ustawienia we wszystkich prezentowanych w tej książce przykładach i warto stosować je we wszystkich projektach TypeScript. |
target | Do jakiej wersji JavaScript ma być kompilowany kod (ES3, ES5, ES2015, ES2016 itd.)? |
To tylko kilka wybranych opcji – tsconfig.json oferuje ich dziesiątki i ciągle dodawane są nowe6. W praktyce jednak rzadko dokonujemy zmian, poza dostosowywaniem ustawień module i target ze względu na użycie nowego narzędzia typu module bundler, dodaniem “dom” do lib w przypadku pisania kodu TypeScriptu dla przeglądarki (patrz rozdział 12) lub dostosowywaniem poziomu rygorystyczności podczas migracji istniejącego kodu JavaScriptu do TypeScriptu (patrz „Stopniowa migracja z JavaScriptu do TypeScriptu” na stronie 230). Pełną i aktualną listę wspieranych opcji można znaleźć w oficjalnej dokumentacji na stronie internetowej TypeScriptu (https://www.typescriptlang.org/docs/handbook/compiler-options.html).
Warto mieć świadomość, że choć konfigurowanie TSC przy użyciu pliku tsconfig.json jest wygodne, ponieważ pozwala na wprowadzenie tej konfiguracji do systemu kontroli wersji, większość opcji TSC można również ustawić za pośrednictwem wiersza poleceń. Aby zobaczyć listę opcji dostępnych w wierszu poleceń, należy uruchomić polecenie ./node_modules/.bin/tsc --help.