Как экспортировать модели в виде промежуточного программного обеспечения в основной server.js и записать маршруты для таблиц в отдельный файл model.js - PullRequest
0 голосов
/ 02 июля 2019

Я новичок в узле. Я создал файл сервера для подключения mongoDB и написал маршруты в том же.Создал model.js для атрибутов таблиц. Я хочу написать маршрут для других моих таблиц.

https://codingthesmartway.com/the-mern-stack-tutorial-building-a-react-crud-application-from-start-to-finish-part-2/

Получено здесь.Но хочу создать отдельный файл для подключения и добавить модуль для таблиц

Это мой сервер. Js

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');
const todoRoutes = express.Router();

const PORT = 4000;
let Todo = require('./todo.model');

app.use(cors());
app.use(bodyParser.json());
app.use('/todos', todoRoutes);

mongoose.connect('mongodb://127.0.0.1:27017/todos', { 
useNewUrlParser: true });
const connection = mongoose.connection;


connection.once('open', function() {
    console.log("MongoDB database connection established 
successfully");
})

app.listen(PORT, function() {
    console.log("Server is running on Port: " + PORT);
});

todoRoutes.route('/').get(function(req, res) {
Todo.find(function(err, todos) {
if (err) {
console.log(err);
} else {
res.json(todos);
}
});
});

Этот маршрут находится в этом файле, я хочу экспортировать его из другой модели.JS

1 Ответ

0 голосов
/ 02 июля 2019

Если вы хотите поместить маршрут в другой файл, я бы посоветовал вам создать новый путь к папке, а затем внутри него создать новый файл по имени маршрута (скажем, createUser.js).

В этом файле server.js используется только

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const cors = require('cors');
const mongoose = require('mongoose');

const PORT = 4000;
let Todo = require('./todo.model');

app.use(cors());
app.use(bodyParser.json());
app.use('/todos', todoRoutes);

mongoose.connect('mongodb://127.0.0.1:27017/todos', { 
useNewUrlParser: true });
const connection = mongoose.connection;


connection.once('open', function() {
    console.log("MongoDB database connection established 
successfully");
})

app.listen(PORT, function() {
    console.log("Server is running on Port: " + PORT);
});

export default app;

А в другом файле внутри папки маршрута используйте требуемый импорт и определите маршрут здесь.

 const todoRoutes = express.Router(); 
    todoRoutes.route('/').get(function(req, res) {
    Todo.find(function(err, todos) {
    if (err) {
    console.log(err);
    } else {
    res.json(todos);
    }
    });
    });
    module.exports=todoRoute; 

Кроме того, вы можете импортировать этот маршрут в любой файл model.js и использовать его для реализации логики.

Примечание: вы также можете использовать контроллеры третьей папки и реализовывать там логику маршрутизации, поскольку лучше не писать логику на маршруте, а использовать для нее файл контроллера. Также вы можете разделить логин подключения к БД в другом файле. ,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...