1
resposta

[Sugestão] Bug: Uncaught ReferenceError e Resolução: Cannot find module 'undici-types'

Olá,

Ao realizar o curso me deparei com dois tipos de erros que foram causados em sequência, que é o ReferenceError:

Uncaught ReferenceError: exports is not defined at app.js

E após resolver o problema da ReferenceError obtive um erro global referente ao módulo undici-types

Cannot find module 'undici-types'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?

Para resolver esse problema eu localizei uma possível solução no GitHub: https://github.com/DefinitelyTyped/DefinitelyTyped/discussions/67406

Fiz a importação da dependência faltante: npm i undici-types

E após isso fiz a importação do módulo no arquivo tsconfig.json, conforme mencionado na solução declarada acima

O script dentro do compilerOptions ficou dessa forma:

"compilerOptions": {

         "paths": {
             "undici-types": [
                "./node_modules/undici-types/index.d.ts"
            ],
        },	
},

Após isso, removi a pasta node__modules e reinstalei com o comando: npm install

Após isso ambos os erros pararam

Pelo que pude compreender esse erro é causado pela biblioteca padrão 'CommonJS' que não tem mais compatibilidade total com os recursos atuais do navegador sendo necessário atualização do módulo e da 'env' global responsável pela configuração do compilador e para transcrever adequadamente o código Typescript para o Javascript.

Espero que eu possa ajudar alguém com esse post. Pois tive esses problemas que estavam interrompendo meu progresso do curso e, após uma pesquisa breve consegui achar essa solução que para mim funcionou perfeitamente, espero que funcione para os demais.

1 resposta

Olá Rodrigo,

Muito obrigado por compartilhar sua experiência e a solução que encontrou para esses problemas! É realmente frustrante quando nos deparamos com erros que interrompem nosso progresso, mas é ótimo ver que você conseguiu resolvê-los e ainda compartilhou a solução com a comunidade.

Certamente será útil para outras pessoas que possam enfrentar a mesma situação. A questão do ReferenceError é comum quando estamos lidando com diferentes sistemas de módulos, como CommonJS e ES Modules. A solução que você encontrou para o problema com o módulo undici-types também é bastante prática, ajustando o tsconfig.json para garantir que o TypeScript consiga encontrar as definições de tipos necessárias.

Agradeço novamente por compartilhar sua solução e espero que continue tendo sucesso em seus estudos de TypeScript!

Bons estudos!

Sucesso