express.js 源码四探 —— application篇

本篇 本篇是这个系列的第四篇,谢谢各位的建议 环境 保持与之前的版本一致,源码版本是express.js 4.14.1 application源码 app.init 戳这里,初始化app的一些参数 //导出的是这个app实例 var app = exports = module.exports = {}; //这个后面再讨论,关于代理 var trustProxyDefaultSymbol = '@ »

express.js 源码二探 —— request篇

接上篇初探 上篇写的很乱,只是个人临时决定写的。主要试图从app.use和app.[method]之间区别着手,来解释express的中间件和路由的实现逻辑。 本篇 本篇很有可能依然保持上篇的发散性思维,所以各位读者可能要小心阅读,避免吐槽而亡。 环境 保持与上篇一致,源码版本是express.js 4.14.1 request源码 打开request.js,从上往下看代码 IncomingMessage var req »

ajax-hook.js 剖析

问题 今天某群里有人提了这样一个问题 就是在chrome调试器明明打印出来了xhr,能看到response的值,而在代码里面直接打印response却看不见这个值 结论 直接上结论,console.log打印的是xhr的引用,也就是说,open在打印的时候,xhr其实是对的,xhr.response也确实是空字符串的。但是后来请求完毕过后,xhr.response这个值被修改了,接着才是点开chrome dev-tool里面的XMLHttpRequest,所以这时候才能看到response,产生了一种错觉。 ajax-hook.js 发现这个库代码写得十分简洁 这里是demo代码 hookAjax( »