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

[Dúvida] ERR_MODULE_NOT_FOUND

Olá, quando inicializo index.js no terminal, obtenho o seguinte erro: 'ERR_MODULE_NOT_FOUND'

Podem me ajudar, por favor?

Assim está o index.js:

import {Cliente} from './Cliente.js'
import { ContaCorrente } from './ContaCorrente.js';
import { ContaPoupanca} from './ContaPoupanca.js';
import { Conta } from './Conta.js';


const cliente1 = new Cliente('Ricardo', 11122233309);
const conta1 = new ContaCorrente(cliente1, 1001);
const contaPoupanca = new ContaPoupanca(0, cliente1, 1001);

const cliente2 = new Cliente ('Alice', 11122233310);
const conta2 = new ContaCorrente (cliente2, 1001);




console.log(conta1);
console.log(contaPoupanca);

ContaPoupanca.js:

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


export class  ContaPoupanca{
    constructor(saldoInicial, cliente, agencia){
        this._saldo = saldoInicial;
        this._cliente = cliente;
        this._agencia = agencia;
    }


    sacar(valor){
        if(this._saldo >= valor){
            this._saldo -= valor;
            return valor;
        }
    }

    depositar(valor){
        if(valor <= 0){
        return;
        }
         this._saldo += valor;
    }

    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }

}

ContaCorrente.js:

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

export class ContaCorrente{
    static numeroDeContas = 0;

    set cliente (novoValor){
        if(novoValor instanceof cliente){
        this._cliente = novoValor;
        }
    }

    get cliente(){
        return this._cliente;
    }    

    get saldo(){
        return this._saldo;
    }

    constructor(cliente, agencia){
        this.cliente = cliente;
        this.agencia = agencia;
        this.this._saldo = saldo;
        ContaCorrente.numeroDeContas += 1;
    }

    sacar(valor){
        if(this._saldo >= valor){
            this._saldo -= valor;
            return valor;
        }
    }

    depositar(valor){
        if(valor <= 0){
        return;
        }
         this._saldo += valor;
    }

    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }
}

Conta.js:

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


export class Conta{
    constructor(saldoInicial, cliente, agencia){
        this._saldo = saldoInicial;
        this._cliente = cliente;
        this._agencia = agencia;
    }


    sacar(valor){
        if(this._saldo >= valor){
            this._saldo -= valor;
            return valor;
        }
    }

    depositar(valor){
        if(valor <= 0){
        return;
        }
         this._saldo += valor;
    }

    transferir(valor, conta){
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }

}

Cliente.js:

export class Cliente{
    get cpf(){
        return this._cpf;
    }

    constructor(nome, cpf){
        this.nome = nome;
        this._cpf= cpf;
    }
}

package.json:

{
  "name": "bytebank",
  "version": "1.0.0",
  "description": "Projeto do bytebank",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Geizi",
  "license": "ISC",
  "type": "module"
}

Aqui está o print do erro no termial.

2 respostas
solução!

Olá, Antonio!

O erro que você está enfrentando (ERR_MODULE_NOT_FOUND), acontece quando o Node.js não está conseguindo encontrar um ou mais módulos que você está tentando importar no seu arquivo index.js. Isso pode acontecer por alguns motivos diferentes, então vamos verificar alguns pontos que podem ajudar a resolver o problema:

  1. Caminho do arquivo: No erro, o Node sugere se você queria importar .../ContaCorrente.js. Isso indica que pode haver um problema com o caminho do arquivo ContaPoupanca.js. Certifique-se de que o arquivo ContaPoupanca.js esteja no mesmo diretório que o index.js e que o nome do arquivo esteja correto, incluindo a extensão .js.

  2. Extensão do arquivo: Você importou ContaCorrente sem a extensão .js, por favor teste adicionando-a ao final:

import { ContaCorrente } from "./ContaCorrente";

Isso deve ser alterado para:

import { ContaCorrente } from "./ContaCorrente.js";
  1. Erro de digitação: No arquivo ContaCorrente.js, você tem uma verificação de instância que usa cliente em vez de Cliente. Isso pode causar um erro, pois cliente não é definido. Deve ser:
if(novoValor instanceof Cliente){
  1. Erro no construtor: Ainda no arquivo ContaCorrente.js, você está tentando atribuir um valor a this.this._saldo, o que parece ser um erro de digitação. Deve ser apenas this._saldo.

Após corrigir esses possíveis erros, tente executar o arquivo index.js novamente.

Se o erro persistir, vou precisar do seu projeto completo, para que eu possa fornecer uma resposta mais assertiva.

Espero ter ajudado e Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado!

Ficou resolvido!