断开Node / Express服务器的路由,但路由器未定义

时间:2015-02-06 23:44:40

标签: node.js express routing

我正试图打破我的Node服务器的路由,因为它变得有点杂乱。我按照我在教程服务器中看到的模式,制作了一个文件routes / routes.js,如下所示:

var router = require('express').Router()
// routes in here
module.exports = router

我将此行添加到我的服务器

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

但我的服务器无法启动并提供错误

router.get('/', function (req, res, next)) Cannot call method 'get' of undefined

我检查了快速文档(版本3.16.3),但我无法弄清楚为什么路由器未定义且无法调用'get'

1 个答案:

答案 0 :(得分:2)

我通常有路由配置,我只需要。

// config/routes.js

module.exports = function (app) {

    app.get('/', get.stuff);
    app.post('/api/:id', create.stuff);

}

现在在我们的服务器中,我们只需要routes.js文件,然后向其发送app

// server.js

var app = express(),
    server = http.createServer(app).listen(app.get('port'), function() {});

require('./config/routes.js')(app);