所有常规请求均使用通用引擎渲染:Index是静态页面,必须从浏览器文件夹中的资源开始:读取viewinstance:take收到的viewinstance:根据requestinstance获取其key:渲染后的页面存入内存,下次请求时提供服务。如果cache设置为false,一旦成功返回第一个成功的响应,响应将被驱逐。OptimizedSsrEngine请求的默认key是originalURL:/去缓存里找这个/之前渲染过没有?RenderingCache中维护了一个Map:判断当前请求是否应该渲染:既不渲染也没有达到并发限制,渲染策略不是CSR,则shouldRender返回true:优化引擎计数器currentConcurrency加一。然后查看shouldTimeout:如果传入了超时值,则只执行超时:比如超时为7秒,那么7秒后,执行fallbackToCSR,那么7秒内渲染完成?在map中设置一个key为/的flag,表示正在渲染:开始调用expressEngine进行渲染:renderOptions:渲染完成后,输出html传递给应用提供的回调:Jerry更多原创文章,尽在:《王子熙》:
