Jason

Results 65 comments of Jason

[babel-handbook](https://github.com/jamiebuilds/babel-handbook/blob/master/translations/zh-Hans/plugin-handbook.md)

### webpack 中如何做构建速度优化 [组件库webpack构建速度优化经验总结](https://juejin.im/post/5a922e776fb9a06337575031) [使用webpack4提升180%编译速度](https://louiszhai.github.io/2019/01/04/webpack4/)

[更古老的webpack文章](https://github.com/youngwind/blog/issues?q=is%3Aopen+is%3Aissue+label%3Awebpack)

[[译]深入React fiber 链表和DFS](https://zhuanlan.zhihu.com/p/57856350)

[React Fiber 架构学习](https://zhuanlan.zhihu.com/p/44942360)

司徒正美的 [React Fiber架构](https://zhuanlan.zhihu.com/p/37095662)

Stack reconciler 自顶向下的递归 diff,这个过程无法中断(持续占用主线程),那么主线程上的layout、动画等周期性任务以及交互响应就无法立即得到处理。 Fiber reconciler 的思路是把渲染/更新过程(递归diff)按照时间分片拆分成一系列小任务,通过任务调度每次检查 fiber tree 上的一小部分,如有空闲时间则继续下一个任务,否则将暂停或终止执行任务,待主线程完成更高优先级任务后再继续。 fiber tree 即 Fiber 上下文的 vDOM tree,更新过程就是根据输入数据以及现有的 fiber tree 构造出新的fiber tree(workInProgress tree)。一些细致一点的概念如下: ``` DOM 真实DOM节点 ------- effect 每个workInProgress tree节点上都有一个effect list...

### Fiber reconciler #### 1. render/reconciliation 初次渲染的时候构建 fiber tree,后续state或props有变更,则以此为蓝本,以 fiber node 为工作单元,自顶向下逐节点构造 workInProgress tree(构建中的新fiber tree) 具体过程如下: - 如果当前节点不需要更新,直接把子节点 clone 过来,跳到5,要更新的话打个 tag - 更新当前节点状态(props, state, context等) - 调用 shouldComponentUpdate,如若返回 false 则跳到5...

todo: - React Fiber Side Effects - [React Fiber单向链表架构](The how and why on React’s usage of linked list in Fiber to walk the component’s tree)

标准文档是把 async/await 作为一个 promise 语法糖,用 promise 封装的 generator 自动执行函数。 v8 按照标准文档,底层是用 promise 实现了async/await。 babel 是把 async/await 转换为 generators 和 promises,再通过 regenerator-runtime 把 generator 转换为 ES5 代码。 ### Reference - https://juejin.im/post/5c394da4518825253661bd4d...