1
resposta

não está excluindo

Não exclui o cliente, mesmo com o código certinho. Abaixo estão respectivamente o listaClientes e o service-cliente

import { cliente_service } from "../service/cliente-service.js";

const Cria_nova_linha = (nome, email, id) =>{
    const linha_novo_cliente = document.createElement('tr');
    const conteudo = `<td class="td" data-td>${nome}</td>
                     <td>${email}</td>
                     <td>
                        <ul class="tabela__botoes-controle">
                            <li><a href="../telas/edita_cliente.html" class="botao-simples botao-simples--editar">Editar</a></li>
                            <li><button class="botao-simples botao-simples--excluir" type="button">Excluir</button></li>
                        </ul>
                     </td>`

    linha_novo_cliente.innerHTML = conteudo;
    linha_novo_cliente.dataset.id = id;
    return linha_novo_cliente;

}

const tabela = document.querySelector('[data-tabela]');
tabela.addEventListener('click', (evento) =>{
   let botao_deletar = evento.target === 'botao-simples botao-simples--excluir';
   if(botao_deletar){
       const linha_cliente = evento.target.closest('[data-id]');
       let id = linha_cliente.dataset.id;
       cliente_service.Remove_cliente(id);
   }
});

cliente_service.Lista_clientes().then(dado =>{
    dado.forEach(elemento =>{
    tabela.appendChild(Cria_nova_linha(elemento.nome, elemento.email, elemento.id));
});
});
const Lista_clientes = () =>{
    return fetch(`http://localhost:3000/profile`).then(resposta =>{
        return resposta.json();
    });
}

const Cria_cliente = (nome, email) =>{
    return fetch(`http://localhost:3000/profile`, {
        method: 'POST',
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify({
            nome: nome,
            email: email
        })
    }).then(resposta =>{
        return resposta.body;
    });
}

const Remove_cliente = (id) =>{
    return fetch(`http://localhost:3000/profile/${id}`, {
        method: 'DELETE'
    })
}

export const cliente_service = {
    Lista_clientes,
    Cria_cliente,
    Remove_cliente
};
1 resposta

Fala Ingred, tudo bem? Espero que sim!

No código abaixo:

tabela.addEventListener('click', (evento) =>{
   let botao_deletar = evento.target === 'botao-simples botao-simples--excluir';
   if(botao_deletar){
       const linha_cliente = evento.target.closest('[data-id]');
       let id = linha_cliente.dataset.id;
       cliente_service.Remove_cliente(id);
   }
});

Na variável botao_deletar você verifica se evento.target é igual a botao-simples botao-simples--excluir, isso dará como false porque event.target é o elemento que disparou o evento e você deve verificar as classes desse elemento, então o correto seria alterar a variável para:

let botao_deletar = evento.target.className === 'botao-simples botao-simples--excluir';

Acessando className que é igual as classes daquele elemento.

Espero ter ajudado, abraços e bons estudos :D