Angular 单元测试框架由 karma 迁移为 Jest 实践

1 为什么要从 Karma+Jasmine 切换为 Jest Angular 官方默认推荐的单元测试框架为 Karma + Jasmine。 Karma 是通过启动 Chromium 浏览器,在真实的浏览器环境中执行单元测试。 Jest 通过配置指定运行环境,通常会配置为 jsdom,每个测试文件都在独立的运行环境中执行。 Karma 当前存在的主要问题有: 需要启动浏览器,编译整个项目并在浏览器
Angular 单元测试框架由 karma 迁移为 Jest 实践

Electron 应用中 fs 模块删除 asar 文件被占用的问题与解决

在 Electron 中使用 fs 模块操作 .asar 格式文件,当执行删除操作时,很容易会遇到文件被占用的问题: 操作无法完成,因为文件已在 Electron 中打开 这是因为 require(\'fs\') 是被 Electron 重写了,读取 .asar 格式文件时会当做目录处理。使用 fs 对象的方法对 .asar 文件路径的读取,都会产生对 asar 目录的引用。如: import fs
Electron 应用中 fs 模块删除 asar 文件被占用的问题与解决

fetch API 实现 GET 和 POST 请求

Fetch API 是 XMLHttpRequest 实现功能的一个更理想的替代方案,它提供了一个 JavaScript 接口,用于异步的执行 http 请求。 在常规的简单接口调试中,使用 Fetch API 可以在浏览器控制台快速的发起一个接口请求,并查看其返回结果。下面是相关实现的示例(备份:用于快速查找使用)。 Fetch API 执行 Get 请求示例: await fetch(url,
fetch API 实现 GET 和 POST 请求

Electron 应用接入 Sentry 与低版本兼容的实践方案

1 Electron 应用集成 Sentry 首先应从 Sentry 平台新建项目,并获得 dsn 地址。一般为了数据安全可控等原因,都会使用内部搭建的 Sentry 平台。下面示例为从 Sentry 官网注册账号并新建测试项目,获得 dsn 格式参考如下: https://a3g538c5c6g7585ba69f99ea96c8888d@o8888888.ingest.sentry.io/999
Electron 应用接入 Sentry 与低版本兼容的实践方案

从 tsconfig 参数 importHelpers 谈 ECMAScript 高级语法编译与辅助函数的处理方案

1 TypepScript 语法编译与辅助函数简介 使用 TypepScript 内置的 tsc 工具,可以将 ts 源文件转译为标准的 JavaScript 代码文件。配置文件 tsconfig.json 可用于配置 tsc 编译的具体方案。 tsc 的编译参数 target 可指定输出结果的语言标准版本,所以实际上它也可以用作为 ECMAScript 高版本源码转译为低版本的工具。 在语法转译
从 tsconfig 参数 importHelpers 谈 ECMAScript 高级语法编译与辅助函数的处理方案

Node.js 应用中实现 OCR 验证码识别

提到图片 OCR 识别,一般可能都会想到著名的 tesseract-ocr。 在 Node.js 程序中处理如验证码识别一类的文本或物体识别时,需要以 Node.js API 的方式调用。一般来说有三种可实现该需求的方式:包装本地安装的 OCR 应用程序(如 tesseract-ocr)以提供 Node.js 调用接口、通过 http 请求方式调用第三方在线服务以及使用支持 node.js 的第三
Node.js 应用中实现 OCR 验证码识别