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版)
156
|
第
14
章
使用命名函数作为路由处理函数
直接在增加路由的地方定义路由处理函数把它内联进去,对很小的应用或原型开发而言
是可以的,但随着网站的增长,很快就会变得臃肿和难以维护。
路由不应该神秘化
这条原则是有意说得含混一些,因为比起只有
10
个网页的网站
,一个庞大而复杂的网
站不可避免地会导致更复杂的组织模式。简单地把网站
所有
的路由都放入一个文件中,
这样就知道它们都在哪里是一种做法。但对于庞大的网站来说,这样做并不可行,所以
你要把路由按功能来划分。即使如此,具体的某个路由要到哪里去找你也要清楚。当需
要修正某些问题的时候,你绝对不想先花上一个小时来找出这个路由是在哪里处理的。
我曾参与过一个
ASP
.NET MVC
项目,在这方面简直是一场噩梦。至少有
10
个不同的
地方在处理路由,它们也没有什么逻辑性或一致性,常常自相矛盾。即使我十分熟悉那
个(非常庞大的)网站,还是要花相当长的时间来捋出某个
URL
是怎么处理的。
路由的组织方式应该是可扩展的
如果你目前有
20
或
30
个路由
,那么把它们都定义在一个文件里可能是没问题的。可是
3
年后当你有
200
个路由时会怎么样
?这是有可能发生的。不管你采用的是什么方法,
都应该保证有增长的空间。
不要忽视基于视图的自动化路由处理函数
如果组成你的网站的很多网页是静态的或有固定的
URL
,你所有的路由最终都会像这
样:
app.get('/static/thing', (req, res) => res.render('static/thing'))
。为了减
少不必要的代码重复,请考虑使用一个基于视图的自动化路由处理函数。这种方式本章 ...
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