TypeScript · Avançado · Inglês · Técnico
module resolution
Opção moduleResolution do tsconfig que define como o compilador transforma o texto de um import em um arquivo, seguindo as regras do Node ou as de um bundler.
Onde usar
Aparece quando um import funciona no bundler mas o compilador diz que não encontra o módulo, ou ao migrar para ESM. NodeNext exige extensões nos imports relativos, enquanto Bundler não exige.
Em código
// Node puro (ESM): imports com extensão
"module": "NodeNext",
"moduleResolution": "NodeNext"
// Vite, esbuild, webpack:
"module": "ESNext",
"moduleResolution": "Bundler"Exemplos
Switch module resolution to NodeNext and add the file extensions.
Mude o module resolution para NodeNext e adicione as extensões dos arquivos.
The bundler resolution doesn't need extensions.
A resolução bundler não precisa de extensões.
Cuidado
Ela deve combinar com a opção module e com o que de fato executa: usar Bundler num projeto executado direto no Node esconde erros que só aparecem em runtime.
Sinônimos
moduleResolution