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

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './types' is not defined by "exports" in D:\cursos alura\node\curso3\API-REST-MYSQL\node_modules\sequelize\package.json

Olá, Galera!! Estou com o seguinte erro: Insira aqui a descrição dessa imagem para ajudar na acessibilidade Não consegui chegar em uma resolução ainda segue o código routes/index.js:

const bodyParser = require('body-parser');
const pessoas = require('./pessoasRoute')

module.exports = app => {

    app.use(bodyParser.json())
    app.use(pessoas)
    app.get('/', (req, res) =>{
        res.send('olá!')
    })


}

O erro só acontece quando coloco o const pessoas = require('./pessoasRoute')

PessoasRoutes.js:

const bodyParser = require('body-parser');
const pessoas = require('./pessoasRoute')

module.exports = app => {

    app.use(bodyParser.json())
    app.use(pessoas)
    app.get('/', (req, res) =>{
        res.send('olá!')
    })


}

PessoasController.js:

const { DatabaseError } = require('sequelize/types');
const database = require('../models');

class PessoasController {
    static async pegaTodasAsPessoas(req, res) {
        try{
            const todasAsPessoas = await database.Pessoas.findAll()
            return res.status(200).json(todasAsPessoas)
        }catch (error){
            return res.status(500).send({message: 'Erro ao consultar todos os pacientes!'})
                .json(error.message)
        }
    }
}

module.exports = PessoasController;

package.json:

{
  "name": "api-rest-mysql",
  "version": "1.0.0",
  "description": "",
  "main": "./api/index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "server": "nodemon ./api/index.js"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "body-parser": "^1.20.0",
    "express": "^4.18.1",
    "mysql2": "^2.3.3",
    "path": "^0.12.7",
    "sequelize": "^6.21.0",
    "sequelize-cli": "^6.4.1"
  },
  "devDependencies": {
    "nodemon": "^2.0.16"
  }
}
5 respostas

Oi Guilherme, tudo bem? Parece ter acontecido algum problema na instalação do sequelize, você tentou remover a pasta node_modules e fazer a instalação novamente das dependências com npm install? Tenta isso por gentileza e me dar um retorno aqui.

solução!

Opa, tinha tentando mas não deu certo, o erro erra um importe que estava incorreto const { DatabaseError } = require('sequelize/types'); em pessoasController

Boa, fico feliz que tenha resolvido. Bons estudos!

Qual foi a solução?

No meu caso era um import incorreto no topo do código pessoascontrollers

**const { DatabaseError } = require('sequelize/types');**  <== este aqui, após remover voltou a funcionar
const database = require('../models');

class PessoasController {
    static async pegaTodasAsPessoas(req, res) {
        try{
            const todasAsPessoas = await database.Pessoas.findAll()
            return res.status(200).json(todasAsPessoas)
        }catch (error){
            return res.status(500).send({message: 'Erro ao consultar todos os pacientes!'})
                .json(error.message)
        }
    }
}

module.exports = PessoasController;

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software