表示没有回应路线

时间:2017-04-02 07:23:26

标签: node.js express

我正在使用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);

每当我在根路线上请求/但是它没有做任何事情时,它应该在控制台上打印你好。

2 个答案:

答案 0 :(得分:3)

您的Express代码不正确。您正在创建一个普通的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(),因为您需要始终发送某种类型的浏览器响应才会等待并等待回来。

答案 1 :(得分:0)

尝试使用app.get代替app.use。后者用于安装子路由,使用中间件等,但不用于实际配置请求处理程序。