【问题标题】:Exclude list of words in Express.js route排除 Express.js 路由中的单词列表
【发布时间】:2012-12-07 06:38:05
【问题描述】:

我在 Express.js 框架中有这样的东西

app.post('/:username/:slug', user.fn);

现在我想提出一个正则表达式来检查 slug 是否等于某些单词(个人资料、专辑等),传递到下一个路由并且不捕获 slug 和用户名。

有什么想法吗?

【问题讨论】:

  • 查看this相关问题

标签: javascript regex node.js express


【解决方案1】:

你应该把更具体的路线放在第一位:

app.post('/:username/profile', middlware)
app.post('/:username/album', middleware)
app.post('/:username/:slug', middleware)

但话说回来,我不知道你想要完成什么

【讨论】:

  • 谢谢。现在我就是这样做的。我已经将我的路线分隔在不同的文件中,为了保持上述顺序,我不得不处理几个路线文件。这就是为什么我试图找出一个正则表达式来排除路由中的某些单词作为解决此类问题的更通用方法。
  • 您可以将正则表达式添加到像app.post('/:username(jon|jack)/:slug', middleware) 这样的变量中,但我不确定什么是支持和不支持的,因为除了有效值的枚举列表之外,我还没有测试过它
  • 我认为它没有记录
猜你喜欢
  • 1970-01-01
  • 2020-08-15
  • 1970-01-01
  • 1970-01-01
  • 2017-09-02
  • 2013-02-27
  • 2015-10-21
  • 2018-10-02
  • 2020-07-21
相关资源
最近更新 更多