表示对路由没有响应
问题描述:
我使用nodejs并为api端点表示,我使用app.use
来处理路由,但无论我做什么,它都没有响应。表示对路由没有响应
var express = require("express");
var mongoose = require('mongoose');
var path = require("path");
var favicon = require("serve-favicon");
var http = require('http');
var app = express();
var config = require('./conf/config');
var PORT = config.PORT;
mongoose.connect(config.MONGODB);
//route handlers
app.use('/', function(req, res) {
console.log("Hello");
});
var server = http.createServer(function(req, res) {
console.log("Request received", req.url);
});
server.listen(PORT);
console.log("Server running on port", PORT);
应该在控制台上打印打招呼时,我要求就根本途径即/
但它没有做任何事情。
答
您的快速代码不正确。您正在创建一个简单的Web服务器,但该Web服务器没有以任何方式连接到Express。如果您不想创建任何特殊类型的服务器(如https服务器),那么您可以让Express使用app.listen(PORT)
为您创建服务器,然后它将创建一个服务器并将自己挂接到该服务器。
我建议这样的:
var express = require("express");
var mongoose = require('mongoose');
var path = require("path");
var favicon = require("serve-favicon");
var app = express();
var config = require('./conf/config');
var PORT = config.PORT;
mongoose.connect(config.MONGODB);
//route handlers
app.get('/', function(req, res) {
console.log("Hello");
res.send("Hello");
});
app.listen(PORT);
console.log("Server running on port", PORT);
注:我改变了一些其他的一些东西。我切换到app.get()
,并且我插入了一个res.send()
,因为您需要始终发送某种类型的浏览器响应,只需等待并等待返回的内容即可。
答
尝试使用app.get
而不是app.use
。后者用于安装子路径,使用中间件等,但不用于实际配置请求处理程序。
+0
是的,我正在使用子路线方式,只是编辑粘贴在这里。 –
哦,男人,你救了我,谢谢。 –