《Node与Express开发》读书笔记
第1~5章
使用Node实现的简单的Web服务器
1.(P13)尽量避免在js中写HTML ->第七章
2.(P15)响应吗 ->第六章
省时省力的Express-脚手架
3.(P18)Boilerplate脚手架(生成空白的H5网站)和Bootstrap ->第七章
省时省力的Express-初始步骤
4.(P20)Express文档中的app.VERB指的是HTTP动词(常见get和post),这个方法一共有两个参数——一个路径、一个参数
5.(P20)app.VERB默认忽略了大小写和反斜杠,并且在匹配时不考虑查询字符串 ,相当于简化了原来自己创建node路由器时用来处理path变量的正则的步骤
6.(P20)请求和响应对象 ->第六章
7.原来的node服务器:
|
|
这是Express的服务器
|
|
(P20)在Express中,res.end被替换成了Express的扩展res.send,还用res.set和res.status替换了Node中的res.writeHead。Express还提供了一个res.type方法,可以用来方便的设置响应头Content-Type。当然原来的node中的方法仍然可用,只是不推荐。
8.(P21)在Express中,处理404和505页面的处理与其他页面有所区别,这点与原生node服务器中的处理方式并不一样,它使用了app.use。app.use是Express中添加中间件的一种方法 ->第十章
9.(P21)Express中,路由和中间件的添加顺序至关重要
10.路由器路径还支持通配符(如/about/*),注意这可能会导致顺序上的问题,可能会导致通配符所代表的其他路径永远无法匹配到如(/about/a、/about/b页面就被通配符替换掉了)
11.(P21)Express能根据回调函数中参数的个数来区分404和500处理器 ->第十章&第十二章
视图和布局
12.(p24)在使用视图引擎的时候,通常情况下,我们在路由器中不必指定res.type和res.status,视图引擎会默认返回text/html的内容类型和200的状态码。而在catch-all处理器(404、500)中,我们必须手工明确指定状态码
视图和静态文件
13.(P24)Express靠中间件处理静态文件和视图。 ->第十章
14.(P24)static中间件可以将一个或多个目录指派为包含静态资源的目录,其中的资源不经过任何特殊处理直接发送到客户端
15.(P24)应该把static中间件加在所有路由器之前(印证了之前9所说,中间件和路由器的顺序至关重要),使用app.use(express.static(__dirname + '/public'));但在自己的N-Blog项目中有所不同:
|
|
需要研究一下__dirname、app.set、app.use、path.join的用法,还有中间件与模块调用语法的区别
16.static相当于给你想要的静态文件创建了一个路由,从而统一了静态文件的管理,static中间件会返回这个文件,并正确的设定为内容类型
测试技术
17.测试的类型:
-
单元测试 单元测试的粒度非常细,是对单个组件进行测试以确保其功能正确,在测试逻辑时更实用
-
集成测试 集成测试是对多个组件甚至整个系统之间的交互进行测试
18.测试技术概览
-
页面测试 测试页面的表现及前端功能,同时涉及单元测试和集成测试,使用
Mocha来测试 -
跨页测试 对从一个页面转到另一个页面功能的测试(跨页过程中可能携带了参数),设计集成测试,使用
Zombie.js来测试 -
逻辑测试 逻辑测试会对逻辑域进行单元测试和集成测试,它只会测试js,跟所有表示功能分开
-
去毛 去毛是寻找潜在的错误,使用JSHint来测试
-
链接检查 发现破损链接,属于单元测试,使用
LinkChecker来测试
19.页面测试
待补充,测试技术非常重要
20.跨页测试
待补充,测试技术非常重要
21.逻辑测试
待补充,测试技术非常重要
22.去毛
待补充,测试技术非常重要
23.链接检查
待补充,测试技术非常重要
24.使用Grunt实现自动化
待补充,测试技术非常重要
