noResolve în TypeScript

Nu adaugă în compilare fișierele găsite prin import sau /// <reference>; intră doar fișierele date explicit.

Sintaxă
"compilerOptions": { "noResolve": true }

tsc --noResolve

Ce face noResolve

Normal, tsc pornește de la fișierele din files/include (sau din linia de comandă) și adaugă tot ce importă ele. Cu noResolve, nu mai adaugă nimic: în program intră doar fișierele date explicit. Un import către un fișier care nu este în listă dă eroarea TS2307.

Este o opțiune rar folosită, pentru unelte care vor controlul complet asupra fișierelor din compilare. Implicit: false.

Parametri

Parametru Descriere
true Importurile și referințele nu adaugă fișiere noi în program.
false Valoarea implicită.

Exemple

Exemplul 1: Ce fișiere intră în program

Fără opțiune, calcul.ts intră prin import. Cu --noResolve, rămâne doar index.ts, iar importul dă eroare.

// calcul.ts
export function cuTva(pret: number): number {
  return Math.round(pret * 1.19 * 100) / 100;
}

// index.ts
import { cuTva } from "./calcul";
console.log(cuTva(100));

Rezultat (tsc 5.9)

$ npx tsc --noEmit --listFilesOnly index.ts
/proiect/calcul.ts
index.ts

$ npx tsc --noEmit --noResolve --listFilesOnly index.ts
index.ts

$ npx tsc --noEmit --noResolve index.ts
index.ts(1,23): error TS2307: Cannot find module './calcul' or its corresponding type declarations.

Greșeli frecvente

  • Să pornești noResolve sperând la o compilare mai rapidă. Fișierele importate lipsesc și apar erori; pentru viteză folosește incremental sau skipLibCheck.

Comenzi înrudite

  • --listFilesOnly: Afișează fișierele care fac parte din compilare; –listFilesOnly se oprește aici, –listFiles compilează și apoi le afișează.
  • explainFiles: Afișează fiecare fișier din compilare și motivul pentru care a fost inclus (include, import, lib, types).
  • lib: Alege ce declarații de tipuri pentru mediul de rulare sunt incluse: versiunea JavaScript (es2022) și API-urile (dom, webworker).