nodejs表示url重写?

时间:2016-03-19 05:13:58

标签: node.js express pug

我是nodejs的新手,刚开始学习它。我从快递开始。一切都很好,但有一个问题不确定这是否需要URL重写或URL重定向。 views文件夹如下所示,(玉文件)

views
  - index
  - news
  - videos

第一页肯定是索引,url是localhost:3000。现在我希望我的新闻页面成为索引页面,所以当我输入localhost:3000或localhost:3000 / news时,我总是希望看到news.jade内容。但我不想将news.jade复制到index.jade。所以我认为最好的方法是有一个urlwrite,然后localhost:3000或localhost:3000 / news将获得news.jade内容。 如果一个url rewirte需要实现我的目标,下面的代码是一个很好的例子吗?

app.use('/news', function(req, res, next){
    var old_url = req.url;
    req.url = '/index';
    next();
});

我搜索了一段时间,但没有真正得到答案,有人可以帮忙吗? 感谢

1 个答案:

答案 0 :(得分:2)

如果您使用express-generator搭建了支架,那么它会创建一个处理所有路由代码的routes文件夹。请参阅this link以了解有关快速生成器的更多信息。

您必须编辑该文件夹中的index.js文件

   router.get('/', function(req, res, next) {
     res.render('news');
   });

当应用程序收到localhost:3000 /的/ request时,它将呈现新闻文件。

如果您有任何疑问,请参阅此处的手册http://expressjs.com/en/guide/routing.html

修改 - 修正拼写错误