前端包管理工具与效率:npm、cnpm、yarn、pnpm、 tnpm 与 corepack

前端包管理工具面临的主要难题,面对项目庞大的 npm 包依赖链,如何快速安全稳定的进行安装和管理。 1 npm(Node Package Manager ) npm 是针对 Node.js 的遵循 CommonJS 包规范实现的包管理器。正是 npm 的出现使得 Node.js 社区的开放性变得简单且发展迅速。开发一个遵循 CommonJS 规范的 npm 包相当简单,而只需要注册一个 npm 账
前端包管理工具与效率:npm、cnpm、yarn、pnpm、 tnpm 与 corepack

React 17 中根据 DOM 节点获取 React 组件实例

在 React 中,通过 ReactDOM.findDomNode 方法可以获取组件实例中 render 方法返回的 DOM 元素。但是如果反过来,想根据 DOM 元素取得组件的实例怎么办?以下代码相信熟悉 React 的同学都见过: /** 根据 DOM 节点查找其所在的 React 组件实例 */ export function findReactElement(node) { for (co
React 17 中根据 DOM 节点获取 React 组件实例

Electron 应用中的系统信息收集与性能监测

在对 Electron 应用的问题进行分析时,相关的系统运行信息有时也是必不可少的,所以自然就有了系统基础信息收集和运行性能监测的需求。 Electron 中的原生能力基于 Node.js,所以 Electron 应用的系统数据收集大多数是基于 Node.js 提供的能力实现。在 Node.js 应用中,主要可以通过 process 和 os 模块获取各种系统相关的信息,其中又可分为静态基础信息和
Electron 应用中的系统信息收集与性能监测

前端实现 gzip 文件与文本压缩的方法

1 Node.js 中的 zilb 库与文件压缩 zlib 支持的三种压缩算法:gzip、deflate、brotli。基础用法示例: import zlib from \'zlib\'; function zip(str, encoding = \'gzip\') { str = typeof str === \'string\' ? str : JSON.stringify(str); if (encod
前端实现 gzip 文件与文本压缩的方法

webpack 构建结果移除 use strict 严格模式

在一些特殊需求中,需要使用到严格模式下被禁止而导致报错的语法,此时需要避免构建的结果包含 use strict。 1 编译构建时不添加 use strict 1.1 babel-loader 设置 strictMode=false babel-loader 通过 @babel/helper-module-transforms 处理模块的转换,它提供一个配置参数 strictMode 用于指定是否编
webpack 构建结果移除 use strict 严格模式

Electron 自编译应用崩溃(crash)调试分析方法

1. Electron 中的应用崩溃(crash) 如果仅是 Javascript 引起的异常,可以在应用逻辑中监听相关 Error 类型的事件并进行处理。通过在监听 crashed 相关事件,可以在应用内监听到应用崩溃并给出响应: app.on(\'gpu-process-crashed\', (_event, killed) => {}); app.on(\'renderer-process-
Electron 自编译应用崩溃(crash)调试分析方法

使用 node.js 发送基于 STMP 与 MS Exchange 邮件的方法

本文主要介绍 node.js 发送基于 STMP 协议和 MS Exchange Web Service(EWS) 协议的邮件的方法。文中所有参考代码均以 TypeScript 编码示例。 1 基于 STMP 协议的 node.js 发送邮件方法 提到使用 node.js 发送邮件,基本都会提到大名鼎鼎的 Nodemailer 模块,它是当前使用 STMP 方式发送邮件的首选。 基于 NodeMa
使用 node.js 发送基于 STMP 与 MS Exchange 邮件的方法