2016-08-04 10 views
-1

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?

+0

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

+0

Danke @oshnaps its typo. Bitte beantworte es richtig, damit ich dir Punkte geben kann. Mein Problem ist gelöst. –

+0

Habe gerade so, danke! – oshnaps

Antwort

1

wie in Kommentar gesagt - Sie einen Tippfehler haben. Die Datei routes/cv.js enthält module.export anstelle von module.exports, das macht CvRouter undefined.

+0

Vielen Dank, um Tippfehler in meinem Code zu zeigen. –

0

Kill the Arrayliteral

var CvRouter = require('./routes/cv') 

module.exports = function(app) { 
    app.use(CvRouter); 
}; 
+0

funktioniert nicht .. :-(gleicher Fehler –

Verwandte Themen