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

Error [ERR_MODULE_NOT_FOUND]: cannot find module ... imported from ...

Olá, gostaria de saber o porquê de quando eu crio a pasta Conta e coloco todos os arquivos relacionados a Conta (Conta.js ContaCorrente.js ContaPoupanca.js e ContaSalario.js) dá esse tipo de erro descrito no título da minha dúvida. (Segue nos anexos abaixo também)

Aqui estão os imports feitos no arquivo index.js, lembrando que em todos os outros arquivos que necessitam de export estão com os devidos exports também.

Esse é o código do index.js

  • OBS: se eu não coloco os arquivos do tipo Conta dentro de alguma pasta o código funciona normalmente. Outra coisa que vale salientar é que eu prossegui com o curso e fiz a parte dos funcionários (que é basicamente a mesma coisa relacionado a questão da pasta) porém não deu erro nenhum quando transferi os arquivos do tipo Funcionario (Funcionario.js Diretor.js e Gerente.js) para dentro da pasta Funcionario.

Agora explicando com imagens para um melhor entendimento:

Se eu faço isso não dá nenhum problema e o código funciona normalmente.

Porém se eu faço isso, e altero o caminho dos imports adicionando "./Conta/..." , o código ainda sim dá o erro citado no início.

Começo do erro

Final do erro

4 respostas

Fala Everton, o erro está falando que não está conseguindo importar o módulo Cliente.js.

Nos imports que você está fazendo lá em cima, você está dizendo que os arquivos Cliente.js, Conta.js ContaCorrente.js ContaPoupanca.js e ContaSalario.js estão na mesma pasta/diretório.

//É isso que o ./ está indicando
import {Cliente} from "./Cliente.js";
import {ContaCorrente} from "./ContaCorrente.js";
import {ContaPoupanca} from "./ContaPoupanca.js";
import {ContaSalario} from "./ContaSalario.js";

Então precisa verificar e ajustar isso. Pra te ajudar:

  • / - Pede para entrar numa pasta dentro do diretório atual
  • ./ - Pede pra procurar na pasta/diretório atual
  • ../ - Pede para voltar para a pasta/diretório anterior

Ajusta isso no seu import que deve funcionar. Qualquer dúvida estou a disposição.

Olá, consegui entender sua lógica, realmente faz sentido pois me expressei da maneira errada. O que eu quis dizer foi que, ao criar a pasta Conta e jogar todos os arquivos do tipo Conta para lá...

Agora consertando o que eu deveria ter falado: mesmo eu alterando os imports para essa maneira -->

import {Cliente} from "./Cliente.js"

import {ContaCorrente} from "./Conta/ContaCorrente.js"

import {ContaPoupanca} from "./Conta/ContaPoupanca.js"

import {ContaSalario} from "./Conta/ContaSalario.js"

--> não funciona. Gostaria de entender o porquê disso, se estou acessando as pastas corretamente ao meu ver...

Entendi. Qual erro está dando agora? Se puder colocar a mensagem de erro completa aqui... vai ajudar bastante

solução!

Descobri onde estava o meu erro...

No arquivo da ContaCorrente.js tinha dois imports:

import {Cliente} from "./Cliente.js";

import {Conta} from "./Conta.js";

O conflito estava exatamente aqui, no import do Cliente. No index.js eu já havia feito tudo certo, na questão de colocar os caminhos corretos. Entretanto, faltou fazer essa mudança no import do Cliente no arquivo ContaCorrente.js

--> Como ele estava inutilizado eu poderia tirá-lo... ou, se quisesse manter ali, era só eu ter feito algo do tipo:

import {Cliente} from "../Cliente.js";

Eu tentei das duas maneiras descritas acima e as duas deram certo!