Im Grunde versuche ich nur Routen, Modelle und Controller in node.js-Anwendung zu trennen. Ich habe folgende Dateien, um sehr, sehr grundlegende node.js-Anwendung einzurichten.FEHLER app.use() erfordert Middleware-Funktionen: (So, wie Router für app.use in Express node.js gesetzt)?
controller/cv.js
module.exports = {
get: function(req, res, next){
console.log("GET REQUESTS")
next();
}
}
Routen/cv.js
var express = require('express');
var CvRouter = express.Router();
var CvController = require('../controller/cv')
CvRouter.get('/', function(req, res, next){
console.log("GET REQUESTS")
next();
})
module.export = CvRouter
app.js
const express = require('express');
const bodyParser= require('body-parser')
var path = require('path')
const app = express();
app.use(bodyParser.urlencoded({extended: true}))
app.use(bodyParser.json())
var router = express.Router();
require('./router')(app)
app.listen(3000, function() {
console.log('listening on 3000')
})
router.js
var CvRouter = require('./routes/cv')
module.exports = function(app) {
app.use([CvRouter]);
};
Grundlegend diese letzte Datei router.js erzeugt Fehler, wenn ich app.use ([CvRouter]) verwende FEHLER ist: werfen neue TypeError ('app.use() erfordert Middleware-Funktionen');
wie kann ich es lösen? Ich kenne auch sein zurückkehrendes Objekt des Routers. und app.use erwartet Funktion in Parameter. aber wie kann ich mein gewünschtes MVC-Muster von node.js erreichen?
Es könnte nur ein Tippfehler beim Kopieren sein, aber die zweite Datei enthält 'module.export' anstelle von' module.exports', das macht 'CvRouter' undefiniert ... – oshnaps
Danke @oshnaps its typo. Bitte beantworte es richtig, damit ich dir Punkte geben kann. Mein Problem ist gelöst. –
Habe gerade so, danke! – oshnaps