javascript - Ako sledovať a kompilovať všetky zdroje TypeScriptu?
Snažím sa previesť svoj osobný projekt na TypeScript a zdá sa, že nemôžem použiť utilitu tsc na sledovanie a kompiláciu mojich súborov. Nápoveda hovorí, že by som mal použiť prepínač -w, ale vyzerá to, že nemôže sledovať a kompilovať všetky súbory *.ts v nejakej adresári rekurzívne. Zdá sa, že toto by mal tsc vedieť zvládnuť. Aké mám možnosti?
Odpoveď č. 1
Vytvorte súbor s názvom tsconfig.json v koreňovom adresári vášho projektu a zahrňte do neho nasledujúce riadky:
{
"compilerOptions": {
"emitDecoratorMetadata": true,
"module": "commonjs",
"target": "ES5",
"outDir": "ts-built",
"rootDir": "src"
}
}
Upozorňujeme, že outDir by mala byť cesta k adresáru, do ktorého sa majú uložiť skompilované JS súbory, a rootDir by mala byť cesta k adresáru obsahujúcemu vaše zdrojové (.ts) súbory.
Otvorte terminál a spustite tsc -w, skompiluje to akýkoľvek súbor .ts v priečinku src do .js a uloží ich do priečinka ts-built.
Odpoveď č. 2
Ostatné odpovede mohli byť užitočné pred rokmi, ale teraz sú zastarané.
Keďže projekt má súbor tsconfig, spustite tento príkaz...
tsc --watch
... sledovať zmenené súbory a podľa potreby ich kompilovať. Dokumentácia vysvetľuje:
Spustite kompilátor v režime sledovania. Sledujte vstupné súbory a pri zmenách spustite opätovnú kompiláciu. Implementáciu sledovania súborov a adresárov je možné nastaviť pomocou premennej prostredia. Podrobnosti nájdete v časti konfigurácia sledovania.
Aby sme odpovedali na pôvodnú otázku, rekurzívne sledovanie adresárov je možné aj na platformách, ktoré nemajú natívnu podporu, ako je vysvetlené v dokumentácii Configuring Watch:
Sledovanie adresárov na platformách, ktoré natívne nepodporujú rekurzívne sledovanie adresárov v node, je podporované prostredníctvom rekurzívneho vytvárania sledovača adresárov pre podadresáre s použitím rôznych možností vybraných TSC_WATCHDIRECTORY.
Odpoveď č. 3
Beta verzia TypeScript 1.5 zaviedla podporu pre konfiguračný súbor nazvaný tsconfig.json. V tom súbore môžete nakonfigurovať kompilátor, definovať pravidlá formátovania kódu a čo je pre vás dôležitejšie, poskytnúť mu informácie o TS súboroch vo vašom projekte.
Akonáhle je správne nakonfigurované, môžete jednoducho spustiť príkaz tsc a nechať ho skompilovať celý TypeScript kód vo vašom projekte.
Ak chcete, aby sledoval súbory na zmeny, môžete jednoducho pridať --watch k príkazu tsc.
Tu je príklad súboru tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "commonjs",
"declaration": false,
"noImplicitAny": false,
"removeComments": true,
"noLib": false
},
"include": [
"**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]}
V príklade vyššie zahrniem všetky súbory .ts v mojom projekte (rekurzívne). Všimnite si, že súbory môžete tiež vylúčiť pomocou vlastnosti "exclude" s poľom.
Pre viac informácií sa odkážte na dokumentáciu: http://www.typescriptlang.org/docs/handbook/tsconfig-json.html
Odpoveď č. 4
môžete sledovať všetky súbory takto
tsc *.ts --watch
