无法使用Express

时间:2015-07-19 02:54:05

标签: node.js express

我刚刚开始,我在这里有一个准确的应用程序,路径文件./routes/index.js。

当我浏览到http://localhost:3000/index时,例如index.js被命中,但没有一条路线匹配,程序直接进入"返回路由器;"。如果我浏览http://localhost:3000/,我会再次获得相同的信息。

所有浏览器都考虑了一下,然后给我一个ERR_CONNECTION_RESET。

app.js

var express = require('express');
var logger = require('morgan');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var flash = require('connect-flash');

mongoose.connect('mongodb://localhost/blah');

var app = express();

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(flash());

app.use(require('./routes/index'));

module.exports = app;

index.js

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

function authorize(req, res, next) {
    if (true) {
        next()
    } else {
        res.status(403).send('Forbidden')
    }
}

module.exports = function(){

    router.get('/index', function(req, res) {
        res.send('index');
    });

    router.get('/hello/:name', function(req, res) {
        res.send('hello ' + req.params.name + '!');
    });

    router.get('/', function(req, res) {
        res.send('root');
    });

    return router;
}

2 个答案:

答案 0 :(得分:1)

app.js缺少一条实际启动服务器的行。你需要添加这个:

app.listen(3000);

答案 1 :(得分:0)

到最后......我改变了

module.exports = function(){

    router.get('/index', function(req, res) {
        res.send('index');
    });

    router.get('/hello/:name', function(req, res) {
        res.send('hello ' + req.params.name + '!');
    });

    router.get('/', function(req, res) {
        res.send('root');
    });

    return router;
}

router.get('/index', function(req, res) {
    res.send('index');
});

router.get('/hello/:name', function(req, res) {
    res.send('hello ' + req.params.name + '!');
});

router.get('/', function(req, res) {
    res.send('root');
});

module.exports = router;