Router.use需要中间件功能吗? [英] Router.use requires middleware function?

查看:101
本文介绍了Router.use需要中间件功能吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我试图在一个名为login_routes.js的单独JS文件中分隔我的登录路线

So I'm trying to seperate my login routes in a seperate JS file called login_routes.js

我一直收到这个特定的错误:

I keep getting this specific error:


TypeError:Router.use()需要中间件函数,但在Function处获得了一个Object
。 (/Users/ethanthomas/Desktop/mean-stuff/express-server/node_modules/express/lib/router/index.js:446:13)

TypeError: Router.use() requires middleware function but got a Object at Function. (/Users/ethanthomas/Desktop/mean-stuff/express-server/node_modules/express/lib/router/index.js:446:13)

不完全理解它要求我实施

login_routes.js:

var express = require('express');
var app = express();

app.route('/login')

.get(function(req, res, next) {
    res.send('this is the login form');
})

.post(function(req, res, next) {
    console.log('processing');
    res.send('proccessing the login form!');
});

server.js:

var express = require('express');
var app = express();
var path = require('path');
var adminRoutes = require('./app/routes/admin_routes');
var loginRoutes = require('./app/routes/login_routes');

app.use('/admin', adminRoutes);
app.use('/login', loginRoutes);


//send our index.html file to the user for the home page
app.get('/', function(req, res) {
    res.sendFile(path.join(__dirname + '/index.html'));
});

//start the server
app.listen(1337);
console.log('leet is the magic port');


推荐答案

您的 login_routes.js 应该看起来像这样(在快递的上下文中):

Your login_routes.js should look something like this (in the context of express):

var express = require('express');
var router = express.Router();

// GET request to /login
router.get('/', function(req, res, next) {
    // do something
});

// POST request to /login
router.post('/', function(req, res, next) {
    // do something
});

module.exports = router;

app.js 中,您使用

In your app.js you use

var login_routes = require('./login_routes');
...
app.use('/login', login_routes);
...

看看在代码由 express-generator 模块生成。这是快递网络服务器应用程序的起点。

Have a look at the code generated by the express-generator module. That is a starting point for express webserver apps.

这篇关于Router.use需要中间件功能吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆