我试图打破主节点服务器的所有路由。我创建了一个文件/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动词方法,所以我不知道该怎么做。另外,如果有更好的方法可以打破这些路线,请告诉我。
答案 0 :(得分:1)
我有同样的错误。重新安装快速固定一切。
$ npm uninstall express
$ npm install express
答案 1 :(得分:0)
我想你可以试试:
var router = require('./routes/routes');
app.use('/', router);