Rešeno: index.ts' se ne može kompajlirati pod '–isolatedModules' jer se smatra globalnom datotekom skripte. Dodajte naredbu import, export ili praznu 'export {}' da biste ga učinili modulom.

Ovo pitanje o Typescript-u o kojem danas raspravljamo je karakteristično za ključni aspekt u dizajnu i implementaciji Typescript-a – njegovu interakciju sa modulima. Jedna od najčešćih grešaka pri kompilaciji je `index.ts ne može se prevesti pod –isolatedModules` jer se smatra globalnom datotekom skripte. Ovaj problem je često dovodio do široko rasprostranjenog nesporazuma u Typescript zajednici u vezi sa načinom na koji treba da se uradi skriptovanje i uvoz/izvoz modula.

Demistifikacija problema

  • Karakteristika zastavice isolatedModules u Typescript-u nameće da svaki fajl mora biti modul. To znači da sve datoteke trebaju uključivati ​​naredbu za uvoz ili izvoz. Ali kada Typescript naiđe na datoteku kojoj to nedostaje, ispušta gore spomenutu grešku. Ovo se događa zato što Typescript takve datoteke tretira kao skriptu, a ne kao modul.

rješenja

Da bismo prevazišli ovaj problem, postoji nekoliko mjera koje možemo poduzeti:

  • Dodajte izjavu za uvoz ili izvoz. Time ga Typescript prepoznaje kao modul.
  • Alternativno, ako nema ništa za izvoz ili uvoz, možete dodati praznu naredbu za izvoz kao što je 'export {}'.
// Adding an Import Statement
import { ModuleName } from "module-location";
// Adding an Export Statement
export { variableOrFunctionName };
// Adding an Empty Export Statement
export {};  

Korak po korak, objašnjenje koda

1. Izjava o uvozu: Koristeći ključnu riječ 'import', možemo uvesti modul u trenutni fajl. U gornjem primjeru, izdvojili smo 'ModuleName' iz njegovog modula.

2. Izjava o izvozu: Ova ključna riječ nam omogućava da izvezemo funkciju, varijable itd. iz modula. Dakle, u drugom modulu, možete koristiti 'import' da prenesete sve što je izvezeno u trenutni modul.

3. Prazna izjava o izvozu: Ova ključna riječ govori Typescript-u da je ovo modul čak i ako nema ništa za izvoz. Dodavanjem 'export {}' izvozimo prazan objekat.

Biblioteke, funkcije i druge relevantne teme

Sistem modula Typescript

Moduli su sastavni dio arhitekture svake robusne aplikacije. Oni igraju vitalnu ulogu u postizanju dobro strukturiranog koda koji se može održavati. Oni pružaju koncept enkapsulacije, koji se koristi da bi jedinice koda za projekat bile čisto odvojene i organizovane.

Uloga oznake 'isolatedModules'

Ova oznaka osigurava da se svaka Typescript datoteka transpilira u izolaciji bez ovisnosti o bilo kojoj drugoj datoteci, kao što Babel radi u procesu kompilacije. Ova zastavica je potrebna kada koristite Babel za transpiliranje kako bi se zajamčila kompatibilnost.

Razumijevanje procesa uvoza i izvoza naredbi, kao i korištenje oznake 'isolatedModules', od velike je pomoći kada se krećete po ovim problemima kompilacije Typescript-a.

Slični postovi:

Ostavite komentar