上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页
摘要: 上节漏了几个地方没有讲。 1、process_params 2、trim_prefix 3、done 分别是动态路由,深层路由与最终回调。 这节就只讲这三个地方,案例还是express-generator,不过请求的方式更为复杂。 process_params 在讲这个函数之前,需要先进一下path 阅读全文
posted @ 2018-04-26 18:56 书生小龙 阅读(532) 评论(0) 推荐(1) 编辑
摘要: 这一节就讲从一个请求到来,express内部是如何将其转交给合适的路由,路由又是如何调用中间件的。 以express-generator为例,关键代码如下: 在两个路由的JS中,两次router.get调用会分别生成2个path层级的layer对象,中间件函数为内部方法route.dispatch, 阅读全文
posted @ 2018-04-25 14:30 书生小龙 阅读(1007) 评论(0) 推荐(0) 编辑
摘要: 之前的讨论都局限于use方法,所有方式的请求会被通过,这一节讨论express内部如何处理特殊请求方法。 给个流程图咯~ 分别给出app.METHODS与router.METHODS: 大体上都是一样的,唯一奇怪的是在app模块里,单独定义了app.all方法,虽然内容只是遍历METHODS数组调用 阅读全文
posted @ 2018-04-19 10:05 书生小龙 阅读(471) 评论(0) 推荐(0) 编辑
摘要: 这一节继续深入Router模块,首先从最常用的use开始。 router.use 方法源码如下: 前半部分十分熟悉,根本就是app.use的翻版。 当然,最后遍历中间件函数处理的时候就不一样了,引入了新的本地模块Layer。 Layer 不太理解这个层的意义,无论是app.use还是router.u 阅读全文
posted @ 2018-04-18 17:22 书生小龙 阅读(1467) 评论(0) 推荐(0) 编辑
摘要: 模块application已经完结,开始讲Router路由部分。 切入口仍然在application模块中,方法就是那个随处可见的lazyrouter。 基本上除了初始化init方法,其余的app.use、app.route、app.param等等,所有涉及到路由的方法都会调用一次这个函数,用来初始 阅读全文
posted @ 2018-04-17 16:50 书生小龙 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 基本上application模块的api都看的差不多了,但是在app.set中还有一个遗漏点,如下: 在对etag、query parser、trust proxy属性进行设置时,会根据值设置对应的fn属性。 这几个值都比较特殊,在官网有对option进行解释,下面逐个讲解。 etag 首先来看et 阅读全文
posted @ 2018-04-17 11:00 书生小龙 阅读(346) 评论(0) 推荐(0) 编辑
摘要: 这个模块还漏了一个稍微复杂点的API,就是app.render,首先看官网的定义: app.render(view, [locals], callback) view为对应的文件名,locals为一个配置对象,callback为解析完成的回调函数。 涉及到的全局属性有 view:默认为一个内置模块, 阅读全文
posted @ 2018-04-16 13:51 书生小龙 阅读(447) 评论(0) 推荐(0) 编辑
摘要: 上一节讲了express的入口文件,当执行主函数,会调用app.init方法,这个方法就来源于application模块。 这个模块有很多方法,目前仅仅过一下初始化方法: 这里初始化了三个对象,作用在注释有简单介绍,实际用法在后面再做介绍。 随后执行了默认配置方法,先不看那个,在这之前过一个工具方法 阅读全文
posted @ 2018-04-13 17:58 书生小龙 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 鸽了鸽了,webpack源码大垃圾,看了那么久,感觉自己越来越渣……还是换个口味,node了解一下? 尝试从express框架源码入手,学习一下node的http模块相关的知识。 入口文件 先从框架的主文件入手,该JS文件包含三大部分: 1、外部/工具模块引入与属性挂载 2、主函数定义 3、中间件的 阅读全文
posted @ 2018-04-13 10:25 书生小龙 阅读(843) 评论(2) 推荐(0) 编辑
摘要: 因为换了个工作,所以博客停了一段时间。 这是上个月留下来的坑,webpack的源码已经不太想看了,又臭又长,恶心的要死,想去看node的源码……总之先补完这个 上一节完成了babel-loader对JS文件字符串的转换,最后返回后进入如下代码: 在看这个parse方法之前,需要过一下参数,首先是这个 阅读全文
posted @ 2018-04-04 10:11 书生小龙 阅读(2262) 评论(4) 推荐(1) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 16 下一页