gpt4 book ai didi

javascript - NodeJs + ExpressJS : router level middleware not able to take the request

转载 作者:行者123 更新时间:2023-12-02 14:09:36 25 4
gpt4 key购买 nike

我正在向我的服务器发出 REST 调用。现在,当我设计代码来处理应用程序级别的路由时,它的工作没有任何问题。但是当我使用路由器级中间件处理它时它不起作用,

     var https = require("https");
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var cookieParser = require('cookie-parser');
var path = require('path');

var routes = require('./server'); //require server directory

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.set('views', path.join(__dirname, 'views'));
app.use(express.static(path.join(__dirname, 'public')));
app.get('/', function(req, res, next) {
res.sendFile(path.join(__dirname, 'views', 'index.html'));
});
app.listen(3000);
module.exports = app;

这是我的服务器目录,其中有一个文件index.js当我尝试使用路由器处理此处的请求时,它不接受该请求。我可以向我的 app.js 请求该页面,但只是路由器不起作用。

    var https = require("https");
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var gh = require('parse-github-url'); // use to break the url user provides into various parts
var moment = require('moment'); // for Parse, validate, manipulate, and display dates in JavaScript.
var router = express.Router();
var Promise = require('bluebird');
var _ = require('underscore-node');

router.post('/click', function(req, res){
console.log("ewewew");
});


module.exports = router;

当我继续尝试在应用程序 app.js 中处理请求时,它工作正常。例如:

 // If I keep it here it in app.js its working fine.
app.post('/click',function(){
console.log("dwfe");
})

最佳答案

您必须使用应用程序注册路由器,如下所示

app.use('/',router);

引用express documentation

express.Router() 只是创建另一个 Router,一个隔离的中间件实例。必须将其添加到 app 中间件堆栈中才能实际调用。

关于javascript - NodeJs + ExpressJS : router level middleware not able to take the request,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39748626/

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