Apareceu este erro e não consigo identificar o erro onde está.
node:internal/errors:477 ErrorCaptureStackTrace(err); ^
Error [ERR_MODULE_NOT_FOUND]: Cannot find module 'C:\Users\Fábio\Desktop\js-heranca-projetoinicial\Funcionario\Gerente.js.js' imported from C:\Users\Fábio\Desktop\js-heranca-projetoinicial\index.js at new NodeError (node:internal/errors:387:5) at finalizeResolution (node:internal/modules/esm/resolve:404:11) at moduleResolve (node:internal/modules/esm/resolve:965:10) at defaultResolve (node:internal/modules/esm/resolve:1173:11) at nextResolve (node:internal/modules/esm/loader:173:28) at ESMLoader.resolve (node:internal/modules/esm/loader:852:30) at ESMLoader.getModuleJob (node:internal/modules/esm/loader:439:18) at ModuleWrap. (node:internal/modules/esm/module_job:76:40) at link (node:internal/modules/esm/module_job:75:36) { code: 'ERR_MODULE_NOT_FOUND' }
Podem me ajudar?
Diretor.js está assim:
import {Funcionario} from ".Funcionario/funcionario.js";
export class Diretor extends Funcionario{ constructor(nome, salario, cpf){ super(nome,salario,cpf) this._bonificacao = 1; } }
Funcionario.js está assim:
``
`export class funcionario{
constructor(nome, salario, cpf){
this._nome = nome;
this._salario = salario;
this._cpf = cpf;
this._bonificacao = 1;
this._senha;
}
autenticar(senha){
return senha == this._senha;
}
cadastrarSenha(senha){
this._senha = senha;
}
}
``
Gerente.js está assim:
``
import {Funcionario} from ".Funcionario/funcionario.js";
export class Gerente extends Funcionario{
constructor(nome, salario, cpf){
super(nome,salario,cpf)
this.bonificacao = 2;
}
}
``
SistemaAutenticacao.js está assim:
export class SistemaAutenticacao{
static login(autenticavel,senha){
if(SistemaAutenticacao.ehAutenticavel(autenticavel)){
return autenticavel.autenticar(senha);
} return false; }
static ehAutenticavel(autenticavel){
return "autenticar" in autenticavel &&
autenticavel.autenticar instanceof Function
}
}
`
cliente.js está assim:
``
export class Cliente{
get cpf(){
return this._cpf;
}
constructor(nome, cpf){
this.nome = nome;
this._cpf = cpf;
this._senha = senha;
}
autenticar(){
return true
}
}
index.js está assim:
``
import {Cliente} from "./Cliente.js";
import { Gerente} from "./Funcionario/Gerente.js.js"; import { Diretor } from "./Funcionario/Diretor.js"; import { SistemaAutenticacao } from "./Funcionario/SistemaAutenticacao.js";
const diretor = new Diretor("Rodrigo", 10000, 22233344455); diretor.cadastrarSenha("123456789"); const gerente = new Gerente("Maria",5000, 33344455566); gerente.cadastrarSenha("12345"); const cliente = new Cliente("Lais", 45678900112, "123");
const diretorEstalogado = SistemaAutenticacao.login(diretor, "123456789");
const gerenteEstalogado = SistemaAutenticacao.login(gerente, "12345"); const clienteEstalogado = SistemaAutenticacao.login(cliente, "123"); console.log (gerenteEstalogado,diretorEstalogado,clienteEstalogado);
``
E o Conta.js está assim:
``
export class Conta{ constructor(saldoInicial,cliente,agencia){ if(this.constructor==Conta){ throw new Error("Você não deveria instanciar um objeto do tipo conta diretamente") }
this._saldo = saldoInicial;
this._cliente = cliente;
this._agencia = agencia;
}
set cliente(novoValor) {
if(novoValor instanceof Cliente) {
this._cliente = novoValor
}
}
get cliente() {
return this._cliente;
}
get saldo() {
return this._saldo;
}
sacar(valor) {
throw new Error("O método sacar é abstrato")
}
_sacar(valor,taxa){
const valorSacado = taxa * valor;
if(this._saldo >= valorSacado){
this._saldo -= valorSacado;
return valorSacado;
}
return 0;
}
depositar(valor){
this._saldo += valor;
}
tranferir(valor, Conta){
const valorSacado = this.sacar(valor);
Conta.depositar(valorSacado);
}
}
``
Obrigado!