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

Ovaj problem s Typescriptom o kojem danas raspravljamo karakterističan je za ključni aspekt dizajna i implementacije Typescripta – njegovu interakciju s modulima. Jedna od najčešćih pogrešaka pri kompilaciji je `index.ts se ne može kompajlirati pod –isolatedModules` jer se smatra globalnom datotekom skripte. Ovaj problem je često dovodio do široko rasprostranjenog nesporazuma u Typescript zajednici u vezi s tim kako bi se skriptiranje i uvoz/izvoz modula trebali raditi.

Demistificiranje problema

  • Značajka zastavice isolatedModules u Typescriptu nalaže da svaka datoteka mora biti modul. To znači da sve datoteke trebaju sadržavati izjavu o uvozu ili izvozu. Ali kada Typescript naiđe na datoteku kojoj to nedostaje, javlja se gore navedena pogreška. To se događa jer Typescript takve datoteke tretira kao skriptu, a ne kao modul.

rješenja

Kako bismo prevladali ovaj problem, postoji nekoliko mjera koje možemo poduzeti:

  • Dodajte izjavu o uvozu ili izvozu. Time ga Typescript prepoznaje kao modul.
  • Alternativno, ako nemate ništa za izvoz ili uvoz, možete dodati praznu izjavu 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: Pomoću ključne riječi 'import' možemo uvesti modul u trenutnu datoteku. U gornjem primjeru izdvojili smo 'ModuleName' iz njegovog modula.

2. Izjava o izvozu: Ova nam ključna riječ omogućuje izvoz funkcije, varijabli itd. iz modula. Dakle, u drugom modulu, možete koristiti 'uvoz' da dovedete sve što je izvezeno u trenutni modul.

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

Knjižnice, funkcije i druge relevantne teme

Sustav Typescript Module

Moduli su sastavni dijelovi svake robusne arhitekture aplikacije. Oni igraju ključnu ulogu u postizanju dobro strukturiranog koda koji se može održavati. Oni pružaju koncept enkapsulacije, koji se koristi kako bi jedinice koda za projekt bile čisto odvojene i organizirane.

Uloga oznake 'izolirani moduli'

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

Razumijevanje procesa uvoza i izvoza naredbi, kao i korištenje zastavice 'isolatedModules', od velike je pomoći pri navigaciji ovim problemima kompilacije Typescripta.

Povezani postovi:

Ostavite komentar