Вы можете следить за этим блогом, чтобы начать работу с лучшими практиками и структурой файла.
Ваша точка входа в приложение должна быть определена следующим образом:
// This will be our application entry. We'll setup our server here.
const http = require('http');
const app = require('../app'); // The express app we just created
const port = parseInt(process.env.PORT, 10) || 8000;
app.set('port', port);
const server = http.createServer(app);
server.listen(port);
В этом только вы начинаетеэкспресс сервер.
https://scotch.io/tutorials/getting-started-with-node-express-and-postgres-using-sequelize
и ваши структуры папок для приложения должны выглядеть следующим образом, вы можете настроить его по своему усмотрению, но он должен быть похож на этот
├── app.js
├── bin
│ └── www
├── package.json
└── server
├── config
│ └── config.json
├── migrations
├── models
│ └── index.js
└── seeders
теперь папка моделей для вас будет содержать все модели баз данных для вас.и вы должны смонтировать все ваши маршруты в файле app.js.Вот пример кода для монтирования ваших маршрутов
const express = require('express');
const logger = require('morgan');
const bodyParser = require('body-parser');
const app = express();
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Require our routes into the application.
require('./server/routes')(app);
app.get('*', (req, res) => res.status(200).send({
message: 'Welcome to the beginning of nothingness.',
}));
module.exports = app;
Где ваша папка маршрутов будет выглядеть примерно так или вы можете определить структуру вложенных папок для этого, минуя экспресс-маршрутизатор снизу вверх.
и для написания контроллеров необходимо импортировать модели в контроллер.
Вы можете создать пример объекта todo следующим образом.мы экспортируем команду create для использования в маршрутах.
const Todo = require('../models').Todo;
module.exports = {
create(req, res) {
return Todo
.create({
title: req.body.title,
})
.then(todo => res.status(201).send(todo))
.catch(error => res.status(400).send(error));
},
};