Как я могу устранить неполадки при импорте файлов с помощью sequelize? - PullRequest
0 голосов
/ 03 августа 2020

Я начинаю выполнять бэкэнд системы в NodeJS, и я столкнулся с ошибкой, которая остановила меня там, раньше я делал это таким же образом, и никаких ошибок не происходило, но он говорил мне, что это может быть связано с версией sequelize, которую я использую, я попытался сделать некоторые из них так же, как некоторые примеры в документации, и мне не удалось добиться успеха. Я покажу вам часть проекта:

Это исправленная документация по продолжению

index. js

"use strict";
const express = require("express");
const morgan = require("morgan");
const bodyParser = require("body-parser");
const {
  Sequelize
} = require("sequelize");
const app = express();
const router = express.Router();
const config = require("./config");

//middlewares
app.use(morgan("dev"));
//app.use(bodyParser.json());

//||||||||||||||||||||||||||||||||||||||||||||||||||
//--------------------------------------------------
// Conexión a la negocio de Datos
//--------------------------------------------------
const db = new Sequelize("bd_pedidos", "userPedido", "8353086aslom", {
  host: "localhost",
  port: "3306",
  dialect: "mysql",
  operatorsAliases: 0,
  define: {
    timestamps: 0,
  },
});
//||||||||||||||||||||||||||||||||||||||||||||||||||
//--------------------------------------------------
// TEST DE CONEXION A LA BASE DE DATOS
//-------------------------------------------

try {
  db.authenticate();
  console.log("Connection has been established successfully.");
} catch (error) {
  console.error("Unable to connect to the database:", error);
}

//||||||||||||||||||||||||||||||||||||||||||||||||||
//--------------------------------------------------
// DEFINICION DE MODELOS
//--------------------------------------------------
const models = {};
//negocio


models['Cliente'] = db.import('./models/cliente.js');


//--------------------------------------------------
// Definición de servicios
//--------------------------------------------------
const services = {};
//NEGOCIO
services["Cliente"] = require("./services/cliente.services")(
  services,
  models,
  Sequelize.Op
);

//--------------------------------------------------
// Definición de Controladores
//--------------------------------------------------
//NEGOCIO
require("./controllers/cliente.controllers")(router, services);

app.use(bodyParser.json());
app.use(
  bodyParser.urlencoded({
    extended: false,
  })
);

// CARGADO DEL ENRUTADOR A LA APP
app.use("/api-rest/v1", router);

// MANEJO DE ERRORES
app.use((err, req, res, next) => {
  console.error(err.stack);
  return res.status(400).json({});
});

// RELACIONES
//||||||||||||||||||||||||||||||||||||||||||||||||||
//--------------------------------------------------
Object.keys(models).forEach((nombre) => {
  if (models[nombre].asociar) {
    models[nombre].asociar(models);
  }
});
//--------------------------------------------------
//||||||||||||||||||||||||||||||||||||||||||||||||||

//INICIALIZACION DE LA APLICACION
app.listen(config.port, () => {
  console.log(
    `API REST corriendo en el puerto https://localhost:${config.port}`
  );
});

пакет. json

{
  "name": "sistema_pedidos",
  "version": "1.0.0",
  "description": "Sisteam de pedidos online",
  "main": "index.js",
  "scripts": {
  "start": "nodemon src/index.js",
  "test": "echo \"Error: no test specified\" && exit 1"
},
  "author": "Leandro Escalera - marcelo.escalera.inf@gmail.com",
  "license": "MIT",
  "dependencies": {
  "body-parser": "^1.19.0",
  "chalk": "^4.1.0",
  "debug": "^4.1.1",
  "express": "^4.17.1",
  "morgan": "^1.10.0",
  "mysql2": "^2.1.0",
  "sequelize": "^6.3.4"
},
   "devDependencies": {
   "nodemon": "^2.0.4"
   }
 }

Структура моего проекта следующая:

-db
-node_modules
-src
--controllers
---cliente.controllers.js
--models
---cliente.js
--services
---cliente.services.js
--config.js
--index.js
-package.json
-package-lock.json

Я получаю следующую ошибку:

models ['Cliente'] = db.import ('./ models / cliente. js'); TypeError: db.import не является функцией

Я буду внимательно относиться к любой информации, которая вам понадобится, чтобы помочь мне исправить эту ошибку. Буду очень признателен

...