Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Erro ao tentar rodar o código

Segui os passos igual ao da aula, mas ao tentar rodar "npm run compile", aparece uma infinidade de erros.

Segue o link do Google Docs, porque era tanto código de erro, que nem cabe aqui - https://docs.google.com/document/d/1AAvsyF3XqsVvU9AVlBLcmn0JH2d67ak1CER0XbJcIX8/edit?usp=sharing

Não sei nem onde começar a olhar.

6 respostas

Bom dia, Diego!

Após analise, error indica que o TypeScrpit não está conseguindo encontrar o módulo undici-types..

  1. Tente usar o npm install undici-types dentro do projeto. npm install undici-types

  2. Configure o moduleResolution para o nodenext no arquivo tsconfig.json para nodenext;

{
  "compilerOptions": {
    "moduleResolution": "nodenext"
  }
}

Adicionar o alias no paths Adicionar um alias para o seu undici-types no seu arquivo tsconfig.json

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

Espero ter ajudado! Qualquer dúvida estou a disposição!

Olá Yuri. Obrigado pela informação. Eu tentei usar o comando npm install undici-types mas resultou em vários errors.

No entanto, a segunda opção limpou a maioria dos erros. Agora o terminal apresenta apenas um erro: " tsconfig.json:9:5 - error TS5023: Unknown compiler option 'include'.

9 "include": ["app/**/*"] ~~~~~~~~~

Found 1 error in tsconfig.json:9 " Segue o tsconfig.json :

{
    "compilerOptions": {
        "outDir": "dist/js",
        "target": "ES6",
        "noEmitOnError": true,
        "paths": {
            "undici-types": ["./node_modules/undici-types/index.d.ts"]
    },
    "include": ["app/**/*"]
    },
}

Entendi Diego,

O erro refere-se a estrutura do arquivo tsconfig.json, a opção include deve estar fora do objeto compilerOptions.

{
    "compilerOptions": {
        "outDir": "dist/js",
        "target": "ES6",
        "noEmitOnError": true,
        "paths": {
            "undici-types": ["./node_modules/undici-types/index.d.ts"]
        }
    },
    "include": ["app/**/*"]
}

Tente ajustar o tsconfig.json dessa forma...

Olá Yuri, muito obrigado, isso resolveu os erros. Antes de fechar, voce poderia me explicar o porque foi necessário colocar o ""paths": { "undici-types": ["./node_modules/undici-types/index.d.ts"]" ao compilerOptions?

solução!

Olá Diego, fico muito feliz em ajudar! Claro!

A configuração no paths no compilerOptions é útil para resolver módulos que por algum motivo não estão sendo encontrados automaticamente pelo TypeScript. No nosso caso em especifico, o Type não conseguia localizar o modulo undici-types que deveria ser usado nos arquivos do projeto.

Ao adicionarmos a propriedade pathes e mapear o undici-types para o arquivo correto, estamos dizendo ao Type onde ele deve buscar as definições de tipo, sendo extremamente útil quando o Type não consegue encontrar o modulo devido a configurações ou algo incomum na estrutura do projeto.

Sem essa "ponte " que criamos informando ao Type onde buscar e encontrar os tipos necessários, ele iria continuar perdido tentando encontrar os tipos que precisamos.

Obrigado pelo conhecimento e aprendizado Diego! Qualquer dúvida, estou a disposição!

Muito obrigado!