Ce face moduleSuffixes
Unele unelte, mai ales React Native, aleg fișierul după platformă: pentru import "./buton" caută întâi buton.ios.ts, apoi buton.ts. Cu moduleSuffixes, tsc face la fel: încearcă fiecare sufix din listă, în ordine, înainte de extensie.
Șirul gol "" înseamnă „fără sufix”; dacă lipsește din listă, buton.ts nu mai este găsit deloc. Implicit: nesetat (se caută doar buton.ts).
Parametri
| Parametru | Descriere |
|---|---|
[".sufix", ..., ""] |
Sufixele încercate, în ordine. "" = fișierul fără sufix. |
Exemple
Exemplul 1: Ce fișier este ales
files pornește doar de la index.ts, deci în program intră doar fișierul ales la import. Cu sufixul .ios este ales buton.ios.ts; fără moduleSuffixes ar fi ales buton.ts.
// tsconfig.json
{
"compilerOptions": {
"moduleSuffixes": [".ios", ""],
"noEmit": true
},
"files": ["index.ts"]
}
// buton.ios.ts
export const platforma = "iOS";
// buton.ts
export const platforma = "web";
// index.ts
import { platforma } from "./buton";
console.log(platforma);
Rezultat (tsc 5.9)
$ npx tsc --listFilesOnly
/proiect/buton.ios.ts
/proiect/index.ts
Greșeli frecvente
- Să uiți
""la final. Fișierele fără sufix nu mai sunt găsite.
Comenzi înrudite
moduleResolution: Alege regulile după care tsc găsește fișierul din spatele unui import („./calcul.js”, „react”, „@/utile”).paths: Definește prescurtări pentru importuri (de exemplu „@/utile/calcul” pentru ./src/utile/calcul) folosite la verificarea tipurilor.--listFilesOnly: Afișează fișierele care fac parte din compilare; –listFilesOnly se oprește aici, –listFiles compilează și apoi le afișează.