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版)
158
|
第
14
章
const main = require('./handlers/main')
module.exports = function(app) {
app.get('/', main.home)
app.get('/about', main.about)
//...
}
这样做满足我们所有的指导原则。
/routes.js
文件很直白,一眼就可以看出你的网站有哪
些路由以及路由都是在哪里处理的。我们也留出了很大的增长空间。可以按相关功能来
划分,只要需要,划分成多少个文件都可以。而且,如果
routes.js
变
得比较笨重了,可以
“故技重施”,把
app
对象传入另一个模块,在那个模块里注册更多的路由(不过那样的话
又有走向“过度复杂”的危险——请先确认复杂化的做法的确是合理的)。
14.9
 自动化渲染视图
过去,你都是直接把一个
HTML
文件放入一个目录中,网站就可以展示了。如果你曾经怀
念过那些日子,那你并不孤单。如果你的网站是以内容为主而没有太多功能的,你就会觉
得为每个视图都加一个路由是不必要的麻烦事。幸运的是,有办法解决这个问题。
比如说我们想增加文件
views/foo.handlebars
,希望能神奇地通过路由
/foo
访问到它
。下面
来看看要怎么做。在应用文件里,就在
404
处
理函数之前,添加以下中间件(版本库的
ch14/06-auto-views.js
):
const autoViews = {}
const fs = require('fs')
const { promisify ...
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