即使定义了路由,也可以使用Node Express 404

时间:2014-09-14 00:06:28

标签: javascript node.js express

我相信如果没有我提供更多信息,这将很难解决问题。

但是,我在一个小型模块化设置中进行了以下设置:

// 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小时前开始节点...所以...我基本上很糟糕:)

1 个答案:

答案 0 :(得分:0)

所以我认为您的问题是您从未将index.js app express实例连接到您在routes.js中定义的路由器。在index.js中,在需要路由后附加一行:

app.use(routes);

现在,当通过中间件堆栈路由请求时,主要的express实例将包含routes.js中定义的路由,并且您应该启动并运行。