节点快速路由

时间:2013-06-30 01:45:17

标签: node.js express

我正在努力理解express / jade的路由,我看到的所有示例都只有1页index.html,但是如果你的网站有超过1页呢?

在我的/ routes文件夹中我在index.js文件中有以下内容:

exports.index = function(req, res){
  res.render('index.jade', { title: 'Home'});
};

exports.sched = function(req, res){
  res.render('sched.jade', { title: 'Schedules' });
};

但是,当我尝试打开url时,不会呈现sched.jade页面:/ sched

我做错了什么?

2 个答案:

答案 0 :(得分:1)

在您调用node on(通常是app.js或server.js)的文件中,您需要导入路由然后调用这些函数。例如:

var routes = require('routes/');

app.get('/sched', routes.sched);
app.get('/', routes.index);

答案 1 :(得分:0)

如果您使用的是模板,则可能有一个名为' boot.js'的文件,我的文件位于lib文件夹中。该文件包含所有路由信息。我的路由有一个如下所示的开关:

for (var key in obj) {
switch (key) {
    case 'show':
      method = 'get';
      path = '/' + name + '/:' + name + '_id';
      break;
    case 'index':
      method = 'get';
      path = '/';
      break;
    case 'services':
      method = 'get';
      path = '/services';
      break;
    default:
      throw new Error('unrecognized route: ' + name + '.' + key);
  }