Я начинаю выполнять бэкэнд системы в 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 не является функцией
Я буду внимательно относиться к любой информации, которая вам понадобится, чтобы помочь мне исправить эту ошибку. Буду очень признателен