Jest进阶:接入ts、集成测试与覆盖率统计
接入 TypeScript 在给 vemojs 做完各种测试之后,导师很快提出了新的要求,给 clousebase-cli 编写测试用例。有个问题摆在眼前:它是用 typescript 编写,所以需要配置相关环境。 好吧,不说废话了,直接上干货。 jest.config.js 配置内容如下,解释在注释里面: module.exports = { roots: [ "&...
接入 TypeScript 在给 vemojs 做完各种测试之后,导师很快提出了新的要求,给 clousebase-cli 编写测试用例。有个问题摆在眼前:它是用 typescript 编写,所以需要配置相关环境。 好吧,不说废话了,直接上干货。 jest.config.js 配置内容如下,解释在注释里面: module.exports = { roots: [ "&...
之前由于课程要求,基于 Nodejs 做了一个实现简易区块链。要求非常简单,结构体记录区块结构,顺便能向链中插入新的区块即可。 但是如果要支持多用户使用,就需要考虑“可信度”的问题。那么按照区块链要求,链上的数据不能被篡改,除非算力超过除了攻击者本身之外其余所以机器的算力。 想了想,就动手做试试。 技术调研 在 google 上搜了搜,发现有个项目不错: https://github...
主要分析下 src 文件夹下的代码。从简单到难吧: utils.js 按照命名,肯定是封装一些常用的方法。这里只提供了一个 cpuNum 的 getter 接口。 这个是计算当前计算机的 cpu 核心数目,用于决定开启多大的集群进程。为了保证效率,最小的返回值是 4。 error.js 主要从 Error 对象上继承并且创建了新对象: VemoError 。对象构造函数上, 设计...
在项目中,为了方便使用,对axios进行了二次封装,原因如下: 由于内网服务器的安全策略,put、delete 等方法的请求无法发送到后台 为了方便快速对接后端服务器,api 接口的前缀、安全策略过期时间等通用配置应该抽离 公共配置抽离 假设后端 api 的前缀地址是://1.1.1.1/api/,安全过期时间是 5000ms. 那么通用配置信息如下: const CO...
现在的网站开发,都绕不开微信登录(毕竟微信已经成为国民工具)。虽然文档已经写得很详细,但是对于没有经验的开发者还是容易踩坑。 所以,专门记录一下微信网页认证的交互逻辑,也方便自己日后回查: 加载微信网页 sdk 绘制登陆二维码:新 tab 页面绘制 / 本页面 iframe 绘制 用户扫码登陆,前端跳入回调网址 回调网址进一步做逻辑处理,如果是页内 iframe 绘制二...
前言 之前学习了 HTML5 的拖放事件,开发中也用到了拖拽组件。为了厘清整体的逻辑,专门做了一个小例子。 具体实现的效果也很简单:元素可以在容器中任意拖动,元素被移入容器的时候,还会有相关样式的改变已达到更好的展示效果。 例子基本运用了拖放事件的全部事件,并且尽量简洁的展示了出来。特此记录。 拖放事件介绍 由名字可以看出来,拖放事件由 2 部分组成:拖动和释放。 而拖动又由 2...
👇 内容速览 👇 let 和 const Set 和 Map Generator 和 yield Promise、async/await 介绍 Proxy 代理器 … let 和 const ES6 新增了let和const,它们声明的变量,都处于“块级作用域”。并且不存在“变量提升”,不允许重复声明。 同时,const声明的变量所指向的内存地址保存的数据...
最近在做 react 开发的时候,需要在多级组件之间进行有效通信。这里所说的多级组件,可能是父子组件、兄弟组件,还可能是两个完全不相关的组件。 那么问题是:有没有一种方法可以统一实现组件之间的通信?不借助 redux 等第三方库,降低依赖性,保证代码简洁,还要保证通用性。 场景介绍 最近在做 react 开发的时候,需要在多级组件之间进行有效通信。这里所说的多级组件,可能是父子组件、兄...
背景介绍 最近实战了 Service Worker(以下简称“sw”)来进行网站缓存,以实现离线状态下,网站仍然可以正常使用。 尤其对于个人博客这种以内容为主体的静态网站,离线访问和缓存优化尤其重要;并且 Ajax 交互较少,离线访问和缓存优化的实现壁垒因此较低。 环境准备 虽然 sw 要求必须在 https 环境下才可以使用,但是为了方便开发者,通过localhost或者127.0...
要想实现,就要先看看什么是“双向数据绑定”,它和“单向数据绑定”有什么区别?这样才能知道要实现什么效果嘛。 双向绑定:视图(View)的变化能实时让数据模型(Model)发生变化,而数据的变化也能实时更新到视图层。 单向数据绑定:只有从数据到视图这一方向的关系。 ES5 的 Object.defineProperty <!DOCTYPE html> <html la...