Skip to Content
Node与Express开发(第2版)
book

Node与Express开发(第2版)

by Ethan Brown
June 2021
Intermediate to advanced
290 pages
9h 21m
Chinese
Posts & Telecom Press
Content preview from Node与Express开发(第2版)
154
|
第
14
章
function authorize(req, res, next) {
if(req.session.authorized) return next()
res.render('not-authorized')
}
app.get('/public', () => res.render('public'))
app.get('/secret', authorize, () => res.render('secret'))
14.4
 路由路径和正则表达式
当你在路由中指定一个路径(比如
/foo
)时,它最终会被
Express
转换为一个正则表达式。
某些正则表达式元字符是可以用在路由路径中的,比如
+
、
?
、
\*
、
(
和
)
。下面来看几个
例子。比如说你希望
/user
和
/username
这两个
URL
可以用同一个路由来处理:
app.get('/user(name)?', (req, res) => res.render('user'))
我最喜欢的一个新奇网站的网址为
http://khaaan.com
(很遗憾现在已经不存在了)。网站上
面只是大家都喜欢的星际飞船船长喊着他最具标志性的台词。虽然没什么用,但每次都会
让我发笑。假设我们想做出自己的“
KHAAAAAAAAN
”页
,但不希望用户必须记住究竟
是
2
个
a
、
3
个
a
还是
10
个
a
。下面的代码就可以做到:
app.get('/khaa+n', (req, res) => res.render('khaaan'))
然而,在路由路径中,并非所有的正则表达式元字符都有意义— ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

面向对象的思考过程(原书第5版)

面向对象的思考过程(原书第5版)

马特 魏斯费尔德
精通模块化JavaScript

精通模块化JavaScript

Nicolás Bevacqua

Publisher Resources

ISBN: 9787115565099