为什么模块循环依赖不会死循环?CommonJS和ES Module的处理有什么不同?
如果被问到“CommonJS和ES Module的差异”,大概每个前端都都背出几条:一个是导出值的拷贝,一个是导出值的引用;一个是运行时加载,一个是静态编译...
如何继承自定义元素及其他JS中扩展新方法
也就是如何使用已有自定义元素组件创建新的自定义元素组件。例如有一个 A 组件,运行很OK,然后有一个 B 组件,虽然语义和 A 组件相差甚远,但是功能核心却是一致的。
9种改进软件开发过程的策略
你想知道如何加快软件开发项目的速度吗?通过本文了解如何加快流程和创造高质量产品的策略。在今天的市场中,你是否希望击败你的竞争对手赢得竞争? 最终的解决方案将是快速地软件开发。
通过一道题来看React事件模型
主要是考察 React 合成事件和 JS 原生事件的区别,以及它们的执行顺序。以React16.x版本之前的来分析。React16.x 以后有变更。分析一下上面的代码:可以分成两部分来看,JS原生事件部分及React合成事件部分。
Vue3 Teleport,这个是真的好用!
关于 vue3 的一个新特性已经讨论了一段时间了,那就是 Portals(传送门) ,它的功能是将模板HTML移动到DOM不同地方的方法。Portals是React中的一个常见特性,Vue2 中可以使用portal-vue库。
TypeScript 接口
TypeScript 的核心原则之一是对值所具有的结构进行类型检查。我们使用接口(Interfaces)来定义对象的类型。接口是对象的状态(属性)和行为(方法)的抽象(描述)
Web 全栈推拉能手 Socket.IO 库
Socket.IO 不仅支持 WebSocket,还支持许多种轮询机制以及其他实时通信方式,并封装了通用的接口。这些方式包含 Adobe Flash Socket、Ajax 长轮询、Ajax multipart streaming 、持久 Iframe、JSONP 轮询等
Gulp - 压缩HTML、CSS、JavaScript 程式码
在网站正式上线前,压缩程式码是必要的过程,因为可以节省空间还能提高网页整体的效能,这里会介绍三压缩程式码的套件,分别是gulp-htmlmin 、gulp-clean-css、gulp-terser。
React Suspense 尝鲜,处理前后端IO异步操作
Suspense主要用来解决网络IO问题,它早在2018年的React 16.6.0版本中就已发布。它的相关用法有些已经比较成熟,有的相对不太稳定,甚至经历了重命名、删除: