错误app.use()需要中间件函数:(那么如何在express node.js中为app.use设置路由器)?
基本上,我只是想在node.js应用程序中分离路由、模型和控制器。 我有以下文件来设置非常基本的node.js应用程序 控制器/cv.js错误app.use()需要中间件函数:(那么如何在express node.js中为app.use设置路由器)?,node.js,express,routes,Node.js,Express,Routes,基本上,我只是想在node.js应用程序中分离路由、模型和控制器。 我有以下文件来设置非常基本的node.js应用程序 控制器/cv.js module.exports = { get: function(req, res, next){ console.log("GET REQUESTS") next(); } } 路线/cv.js var express = require('express'); var CvRouter = express
module.exports = {
get: function(req, res, next){
console.log("GET REQUESTS")
next();
}
}
路线/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')
})
路由器.js
var CvRouter = require('./routes/cv')
module.exports = function(app) {
app.use([CvRouter]);
};
基本上,当我使用app.use([CvRouter])时,最后一个文件router.js生成错误
错误是:抛出新类型错误('app.use()需要中间件函数')强>
我怎样才能解决它?我也知道它的返回对象是路由器。和app.use参数中的预期函数。但是我如何才能实现我想要的node.js的MVC模式呢?杀死数组文字
var CvRouter = require('./routes/cv')
module.exports = function(app) {
app.use(CvRouter);
};
杀死数组文字
var CvRouter = require('./routes/cv')
module.exports = function(app) {
app.use(CvRouter);
};
正如在评论中所说的,你有一个打字错误。
文件
routes/cv.js
包含module.export
而不是module.exports
,这使得CvRouter
未定义。如注释中所述-您有一个打字错误。
文件
routes/cv.js
包含module.export
而不是module.exports
,这使得CvRouter
未定义。复制时可能只是键入错误,但第二个文件包含module.export
而不是module.exports
,这使得CvRouter
未定义…感谢@oshnaps的输入错误。请正确回答,以便我给你打分。我的问题解决了,谢谢!复制时可能只是输入错误,但第二个文件包含module.export
而不是module.exports
,这使得CvRouter
未定义…感谢@oshnaps它的输入错误。请正确回答,以便我给你打分。我的问题解决了,谢谢!