0

我很难理解 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 时,sched.jade 页面没有呈现

我究竟做错了什么 ??

4

2 回答 2

1

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

var routes = require('routes/');

app.get('/sched', routes.sched);
app.get('/', routes.index);
于 2013-06-30T01:59:49.590 回答
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);
  }
于 2013-06-30T02:01:58.967 回答