2
respostas

[Dúvida] nao consigo encontrar a importacao

Estou no cap 5 na formacao de API com mongo DB, estava tudo dando certo, porem a professora pede para cirarmos copias para autores, e foi criado, porem no momento da importacao ela importa a linha

import autores from "./autoresRoutes.js";

porem no arquivo autores.Routes.js eu nao encontro a declaracao desse import "autores" nem mesmo no projeto da prof, e o meu codigo esta quebrando por causa disso, isso e um erro ou eu estou fazendo algo errado ? abaixo segue meu codigo

Index.js

import express from "express";
import livros from './livrosRoutes.js';
import autores from "./autoresRoutes.js";

const routes = (app) =>{
    app.route('/').get((req,res) =>{
        res.status(200).send('Curso de node.js')
    });
    app.use(express.json(), livros, autores);
};  

export default routes; 

autoresRoutes.js

import express from "express";
import AutorController from "../controllers/autorController.js";

const routes = express.Router();

routes.get("/autores", AutorController.listarAutores);
routes.get("/autores/:id", AutorController.listarAutorPorId);
routes.post("/autores", AutorController.cadastrarAutor);
routes.put("/autores/:id", AutorController.atualizarAutor);
routes.delete("/autores/:id", AutorController.excluirAutor);

export default routes;

autor_controller.js

import { autor } from "../models/Autor.js";

class AutorController {

  static async listarAutores (req, res) {
    try {
      const listaAutores = await autor.find({});
      res.status(200).json(listaAutores);
    } catch (erro) {
      res.status(500).json({ message: `${erro.message} - falha na requisição` });
    }
  };

  static async listarAutorPorId (req, res) {
    try {
      const id = req.params.id;
      const autorEncontrado = await autor.findById(id);
      res.status(200).json(autorEncontrado);
    } catch (erro) {
      res.status(500).json({ message: `${erro.message} - falha na requisição do autor` });
    }
  };

  static async cadastrarAutor (req, res) {
    try {
      const novoAutor = await autor.create(req.body);
      res.status(201).json({ message: "criado com sucesso", livro: novoAutor });
    } catch (erro) {
      res.status(500).json({ message: `${erro.message} - falha ao cadastrar autor` });
    }
  }

  static async atualizarAutor (req, res) {
    try {
      const id = req.params.id;
      await autor.findByIdAndUpdate(id, req.body);
      res.status(200).json({ message: "autor atualizado" });
    } catch (erro) {
      res.status(500).json({ message: `${erro.message} - falha na atualização` });
    }
  };

  static async excluirAutor (req, res) {
    try {
      const id = req.params.id;
      await autor.findByIdAndDelete(id);
      res.status(200).json({ message: "autor excluído com sucesso" });
    } catch (erro) {
      res.status(500).json({ message: `${erro.message} - falha na exclusão` });
    }
  };
};

export default AutorController;

erro apresentado

Error [ERR_MODULE_NOT_FOUND]: Cannot find module
2 respostas

Encontrei o erro --' meu arquivo de controller ta como autor_controller.js, era isso que ocasionava o erro.

Oi, Amanda! Tudo bem?

Que bom saber que você conseguiu encontrar uma solução para o problema por conta própria! Espero que continue a explorar os conteúdos para ampliar seu conhecimento e desenvolver novas habilidades. Caso tenha restado alguma dúvida em relação a qualquer conteúdo do curso ou atividade, não hesite em perguntar, estou disponível e ficarei super feliz em poder ajudar!

Um forte abraço e bons estudos!