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

Súvisiace články