2
respostas

Cannot find module './infraestrutura/conexao'

Assim foi como estruturei o código:

infraestrutura:

const mysql = require('mysql')

const conexao = mysql.createConnection({
  host: 'localhost',
  port: 3306,
  user: 'root',
  password:'123456',
  database: 'agenda-petshop'
})

module.exports = conexao

index:

const customExpress = require('./config/customExpress')
const conexao = require('./infraestrutura/conexao')
const Tabelas = require('./infraestrutura/tabelas')

conexao.connect(erro => {
    if(erro) {
        console.log(erro)
    } else {
        console.log('conectado com sucesso')

        Tabelas.init(conexao)
        const app = customExpress()

        app.listen(3000, () => console.log('servidor rodando na porta 3000'))
    }
})

module.exports = new Tabelas
2 respostas

José,

Este erro tinha acontecido pra mim por eu ter criado a pasta "infraestrutura" dentro da pasta "controllers", e não na raíz do projeto. Verifica se a pasta "infraestrutura" está na mesma pasta do teu arquivo index.js.

Olá José Wagner! O Matheus comentou algo importante sobre os locais das pastas e arquivos da estrutura do seu código.É importante lembrar, que conectamos o arquivo index.js, importando a conexão com require() recebendo a './infraestrutura/conexao' . E assim, nos 2 arquivos dos códigos que aqui você postou, consta no arquivo index.js o module.exports = new Tabelas, bem na linha final o arquivo index.js (ocorrendo este tipo de erro, já que a exportação do módulo ocorre somente no arquivo './infraestrutura/tabelas' , conforme exemplo citado da aula 03 da instrutora Juliana). Desejo bons estudos na caminhada do Node.js! =)