1. 为什么要异步编程 JavaScript 是一种单线程运行的的编程语言,同一时刻只能执行一个任务。为了处理不同的任务调度逻辑,异步编程在 JavaScript 编程开发中是无法避免的。 在以下列举的场景中,均必然涉及…
分类:前端开发
HTML5、CSS、javascript 等 web 前端技术相关
Chrome Developer Tools 开发者工具实用调试技巧
copy 复制断点处作用域的变量值 在 debugger 模式下,可以直接在控制台打印当前断点处作用域内的变量。 如果想复制相关变量的值,有两种快捷方法: 在控制台中输入 copy(<变量名>) 在控制台中输…
Electron 应用多开 indexedDB 打开异常问题分析与解决
electron 中的应用实例多开,会因为 session 共享而存在 indexedDB 多次打开异常。大致会遇到类似如下报错: DOMException: Internal error opening backing…
前端包管理工具与效率:npm、cnpm、yarn、pnpm、 tnpm 与 corepack
前端包管理工具面临的主要难题,面对项目庞大的 npm 包依赖链,如何快速安全稳定的进行安装和管理。 1 npm(Node Package Manager ) npm 是针对 Node.js 的遵循 CommonJS 包规…
React 17 中根据 DOM 节点获取 React 组件实例
在 React 中,通过 ReactDOM.findDomNode 方法可以获取组件实例中 render 方法返回的 DOM 元素。但是如果反过来,想根据 DOM 元素取得组件的实例怎么办?以下代码相信熟悉 React …
Electron 应用中的系统信息收集与性能监测
在对 Electron 应用的问题进行分析时,相关的系统运行信息有时也是必不可少的,所以自然就有了系统基础信息收集和运行性能监测的需求。 Electron 中的原生能力基于 Node.js,所以 Electron 应用的…
React16 升级至 React17 后的 document.addEventListener 异常分析与处理
相比 React 16 来说,React17 的新特性就是无特性,所以从 16 升级至 17 是相对比较平滑的。但一个具有破坏性变更的就是事件系统的更改。 In React 17, React will no longe…
前端实现 gzip 文件与文本压缩的方法
1 Node.js 中的 zilb 库与文件压缩 zlib 支持的三种压缩算法:gzip、deflate、brotli。基础用法示例: 上面是 gzip、deflate、brotli 三种不同压缩算法的简单实现。其压缩效…
大型项目升级至 webpack5 实践与总结
这是一篇历时一年多的 webpack5 升级式实践总结。最早在 2020年4月份 webpack5 处于 beta 阶段时即开始相关的项目升级尝试,后续过程中又间断的进行了几次尝试,均因自编插件和第三方插件的兼容性等原因…
webpack 构建结果移除 use strict 严格模式
在一些特殊需求中,需要使用到严格模式下被禁止而导致报错的语法,此时需要避免构建的结果包含 use strict。 1 编译构建时不添加 use strict 1.1 babel-loader 设置 strictMode=…