路线路径

中英双语

路由路径与请求方法相结合,定义了可以发出请求的端点。路由路径可以是字符串、字符串模式或正则表达式。

字符 ?+*() 是它们的正则表达式对应物的子集。连字符 (-) 和点 (.) 由基于字符串的路径逐字解释。

如果您需要在路径字符串中使用美元字符 (`

路由路径与请求方法相结合,定义了可以发出请求的端点。路由路径可以是字符串、字符串模式或正则表达式。

字符 ?+*() 是它们的正则表达式对应物的子集。连字符 (-) 和点 (.) 由基于字符串的路径逐字解释。

),请将其包含在 ([]) 中进行转义。例如,"/data/$book" 处请求的路径字符串将是 "/data/([\$])book"。

Express 使用 path-to-regexp 来匹配路由路径;有关定义路由路径的所有可能性,请参阅 path-to-regexp 文档。Express Route Tester 是一个用于测试基本 Express 路由的便捷工具,尽管它不支持模式匹配。

查询字符串不是路由路径的一部分。

以下是一些基于字符串的路由路径示例。

此路由路径将匹配对根路由 / 的请求。

app.get('/', (req, res) => {
  res.send('root')
})

此路由路径将匹配对 /about 的请求。

app.get('/about', (req, res) => {
  res.send('about')
})

此路由路径将匹配对 /random.text 的请求。

app.get('/random.text', (req, res) => {
  res.send('random.text')
})

以下是一些基于字符串模式的路由路径示例。

此路由路径将匹配 acdabcd

app.get('/ab?cd', (req, res) => {
  res.send('ab?cd')
})

此路由路径将匹配 abcdabbcdabbbcd 等。

app.get('/ab+cd', (req, res) => {
  res.send('ab+cd')
})

此路由路径将匹配 abcdabxcdabRANDOMcdab123cd 等。

app.get('/ab*cd', (req, res) => {
  res.send('ab*cd')
})

此路由路径将匹配 /abe/abcde

app.get('/ab(cd)?e', (req, res) => {
  res.send('ab(cd)?e')
})

基于正则表达式的路由路径示例:

此路由路径将匹配其中带有 "a" 的任何内容。

app.get(/a/, (req, res) => {
  res.send('/a/')
})

此路由路径将匹配 butterflydragonfly,但不匹配 butterflymandragonflyman 等。

app.get(/.*fly$/, (req, res) => {
  res.send('/.*fly$/')
})