我相信如果没有我提供更多信息,这将很难解决问题。
但是,我在一个小型模块化设置中进行了以下设置:
// index.js又名服务器
...
// set views path, template engine and default layout
app.set('views', './app/views');
app.set('view engine', 'jade');
var routes = require('./app/routes')
....
// routes.js
var router = require('express').Router();
// Include the controllers
var home = require('../controllers/home');
// GET home page
router.get('/', home.home);
router.get('/home', home.home);
module.exports = router;
//控制器/ home.js
module.exports = {
home: function (req, res) {
res.render('index', {
title: 'Home Page'
});
}
};
然后导航到/
返回:
Cannot GET /
我从2小时前开始节点...所以...我基本上很糟糕:)
答案 0 :(得分:0)
所以我认为您的问题是您从未将index.js app
express实例连接到您在routes.js中定义的路由器。在index.js中,在需要路由后附加一行:
app.use(routes);
现在,当通过中间件堆栈路由请求时,主要的express实例将包含routes.js中定义的路由,并且您应该启动并运行。