路由器无法使用方法' get'未定义的,Node

时间:2015-01-26 06:45:28

标签: node.js module routes

我试图打破主节点服务器的所有路由。我创建了一个文件/routes/routes.js,我试图存储路由并将其作为模块导出回服务器。它看起来像这样:

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

    router.get('/', function (req, res, next) {
        res.sendfile('views/index.html');
    });

    router.get('/about', function (req, res, next) {
        res.sendfile('views/about.html');
    });

    router.get('/websites', function (req, res, next) {
        res.sendfile('views/websites.html');
    });

    router.get('/contact', function (req, res, next) {
        res.sendfile('views/contact.html');
    });

    router.get('/continuinged', function (req, res, next) {
        res.sendfile('views/continuinged.html');
    });

module.exports = router

我将此行添加到服务器

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

但是我收到了错误

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

当我尝试运行服务器时。我检查了Express文档,他们说路由器应该有HTTP动词方法,所以我不知道该怎么做。另外,如果有更好的方法可以打破这些路线,请告诉我。

2 个答案:

答案 0 :(得分:1)

我有同样的错误。重新安装快速固定一切。

$ npm uninstall express
$ npm install express

答案 1 :(得分:0)

我想你可以试试:

var router = require('./routes/routes');
app.use('/', router);