根据Route - Node.js / React显示不同的内容

时间:2016-12-23 00:04:38

标签: javascript html node.js reactjs express

我的Node应用程序中有不同商店配置文件页面的路径。谷歌搜索,我知道我可以编辑参数,但我完全不知道如何根据名称更改内容(加载React)。我只是使用res.render()来呈现特定的页面。

例如,https://www.instagram.com/adidas显示的内容与https://www.instagram.com/nike不同,但是,它们具有相同的HTML结构和基本配置文件HTML。这只是内容不同!

现在,我只有一个store.ejs,它是每个配置文件的html结构。

如何根据名称/ ID更改和加载内容的示例是什么?

1 个答案:

答案 0 :(得分:2)

路线参数可能是您正在寻找的。

app.get('/:name', (request, response) => {
  let locals = {
    name: request.params.name,
    foo: 'bar'
  };

  res.render('store.ejs', locals);
});

可以在模板文件中引用局部变量。

 <h1>Hello <%= name %></h1>
 <button><%= foo %></button>

然后导航到/rohit将呈现包含以下标记的页面。

 <h1>Hello rohit</h1>
 <button>bar</button>

尽管如此,还有很多其他方法可以构建应用程序路径,所以它绝对值得阅读routing docs