Atrisināts: index.ts nevar kompilēt zem “–isolatedModules”, jo tas tiek uzskatīts par globālu skripta failu. Pievienojiet importēšanas, eksportēšanas vai tukšu priekšrakstu “eksportēt {}”, lai padarītu to par moduli.

Pēdējā atjaunošana: 09/11/2023

Šis Typescript jautājums, ko mēs šodien apspriežam, ir raksturīgs galvenajam Typescript dizaina un ieviešanas aspektam — tā mijiedarbībai ar moduļiem. Viena no visbiežāk sastopamajām kompilācijas kļūdām ir “index.ts nevar kompilēt zem –isolatedModules”, jo tas tiek uzskatīts par globālu skripta failu. Šī problēma bieži vien ir izraisījusi plašu pārpratumu Typescript kopienā par to, kā būtu jāveic skriptēšana un moduļu importēšana/eksportēšana.

Problēmas demistificēšana

  • Typescript karodziņa elements izolētiModules nodrošina, ka katram failam ir jābūt modulim. Tas nozīmē, ka visos failos ir jāiekļauj importa vai eksportēšanas paziņojums. Bet, kad Typescript saskaras ar failu, kuram tā trūkst, tas rada iepriekš minēto kļūdu. Tas notiek tāpēc, ka Typescript apstrādā šādus failus kā skriptu, nevis moduli.

Risinājumi

Lai pārvarētu šo problēmu, mēs varam veikt dažus pasākumus:

  • Pievienojiet importēšanas vai eksportēšanas paziņojumu. Tas liek Typescript to atpazīt kā moduli.
  • Alternatīvi, ja nav nekā, ko eksportēt vai importēt, varat pievienot tukšu eksportēšanas priekšrakstu, piemēram, “eksportēt {}”.
// Adding an Import Statement
import { ModuleName } from "module-location";
// Adding an Export Statement
export { variableOrFunctionName };
// Adding an Empty Export Statement
export {};  

Soli pa solim Kodeksa skaidrojums

1. Importēšanas paziņojums: Izmantojot atslēgvārdu “import”, mēs varam importēt moduli pašreizējā failā. Iepriekš minētajā piemērā mēs no tā moduļa izvilkām “ModuleName”.

2. Eksporta paziņojums: Šis atslēgvārds ļauj eksportēt funkciju, mainīgos utt. no moduļa. Tātad citā modulī varat izmantot komandu “import”, lai visu, kas tika eksportēts, pārnestu uz pašreizējo moduli.

3. Tukšs eksporta paziņojums: Šis atslēgvārds norāda Typescript, ka šis ir modulis, pat ja nav nekā, ko eksportēt. Pievienojot 'export {}', mēs eksportējam tukšu objektu.

Bibliotēkas, funkcijas un citas atbilstošas ​​tēmas

Mašīnraksta moduļu sistēma

Moduļi ir jebkuras spēcīgas lietojumprogrammas arhitektūras neatņemama sastāvdaļa. Viņiem ir būtiska loma labi strukturēta un uzturējama koda izveidē. Tie nodrošina iekapsulēšanas jēdzienu, ko izmanto, lai projekta koda vienības būtu skaidri nodalītas un sakārtotas.

Karoga 'isolatedModules' loma

Šis karodziņš nodrošina, ka katrs Typescript fails tiek pārsūtīts atsevišķi, neatkarīgi no cita faila, kā to dara Babel savā kompilēšanas procesā. Šis karodziņš ir nepieciešams, ja pārsūtīšanai izmantojat Babel, lai garantētu saderību.

Izpratne par importēšanas un eksportēšanas paziņojumu procesu, kā arī karodziņa “isolatedModules” izmantošana ir ļoti noderīga, risinot šīs Typescript kompilācijas problēmas.

Related posts: