I can not understand what the problem is.
index.js
const express = require('express') const bodyParser = require('body-parser') const cors = require('cors') const morgan = require('morgan') const mongoose = require('mongoose') const config = require('./config/config') mongoose.Promise = global.Promise const app = express() app.use(morgan('combined')) app.use(bodyParser.json()) app.use(cors()) app.use(require('./routes/posts')) mongoose.connect(config.dbURL, config.dbOptions) mongoose.connection .once('open', () => { console.log(`Mongoose - successful connection ...`) app.listen(process.env.PORT || config.port, () => console.log(`Server start on port ${config.port} ...`)) }) .on('error', error => console.warn(error)) Requested file with 15 lines (posts.js)
const express = require('express') const router = express.Router() const Post = require('../models/post-model') router.post('/posts', (req, res) => { const post = new Post({ title: req.body.title, description: req.body.description }) post.save((err, data) => { if (err) { console.log(err) } else { res.send({ success: true, message: `Post with ID_${data._id} saved successfully!` }) } }) }) And in detail the text of the error
TypeError: app.use() requires a middleware function at Function.use (C:\Users\andre\Desktop\Обучение\Practice\mevn\server\node_modules\express\lib\application.js:210:11) at Object.<anonymous> (C:\Users\andre\Desktop\Обучение\Practice\mevn\server\src\index.js:15:5) at Module._compile (internal/modules/cjs/loader.js:689:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10) at Module.load (internal/modules/cjs/loader.js:599:32) at tryModuleLoad (internal/modules/cjs/loader.js:538:12) at Function.Module._load (internal/modules/cjs/loader.js:530:3) at Function.Module.runMain (internal/modules/cjs/loader.js:742:12) at startup (internal/bootstrap/node.js:266:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
app.use(require('post.js'))here will be equivalent toapp.use({}). Naturally, express'I don't like it. - Yaantmodule.exports = router;add to the end. Well, in a situation wheresave()returned an error, you also need to call res.send () - either send an error, or what text. Therefore, you have a connection and hangs. - ReklatsMasters