Express4中文文档
路由路径与请求方法相结合,定义了可以发出请求的端点。路由路径可以是字符串、字符串模式或正则表达式。
字符 ?
、+
、*
和 ()
是它们的正则表达式对应物的子集。连字符 (-
) 和点 (.
) 由基于字符串的路径逐字解释。
如果您需要在路径字符串中使用美元字符 (`
路由路径与请求方法相结合,定义了可以发出请求的端点。路由路径可以是字符串、字符串模式或正则表达式。
字符 ?
、+
、*
和 ()
是它们的正则表达式对应物的子集。连字符 (-
) 和点 (.
) 由基于字符串的路径逐字解释。
),请将其包含在 ([
和 ])
中进行转义。例如,"/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')
})
以下是一些基于字符串模式的路由路径示例。
此路由路径将匹配 acd
和 abcd
。
app.get('/ab?cd', (req, res) => {
res.send('ab?cd')
})
此路由路径将匹配 abcd
、abbcd
、abbbcd
等。
app.get('/ab+cd', (req, res) => {
res.send('ab+cd')
})
此路由路径将匹配 abcd
、abxcd
、abRANDOMcd
、ab123cd
等。
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/')
})
此路由路径将匹配 butterfly
和 dragonfly
,但不匹配 butterflyman
、dragonflyman
等。
app.get(/.*fly$/, (req, res) => {
res.send('/.*fly$/')
})