gpt4 book ai didi

javascript - Router.use 需要中间件功能?

转载 作者:搜寻专家 更新时间:2023-11-01 00:12:54 24 4
gpt4 key购买 nike

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

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

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 应该看起来像这样(在 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 中,您使用

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

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

关于javascript - Router.use 需要中间件功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30809485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com