复杂表单的模块化处理 发表于 2019-06-13 | 工作中或多或少都会遇到一些很复杂的表单,通常的特点是每个表单项自身都有一大坨逻辑,好几百行代码。如果将所有表单项都放到一个文件里,那么没人能看得懂它,维护起来是一个噩梦。为了解决这个问题,小组内之前做过一些封装和拆分: 将每个表单项封装成独立组件 在业务上将表单项分类,功能内聚的一组表单项放到一个 ... 阅读全文 »
vscode插件开发 发表于 2019-06-09 | 本文的目的是总结vscode的插件开发入门,之前一直以为开发插件是一件很难的事情,后来工作上需要搞一个效率小工具,就试着找了些资料来入门,发现其实就入门和开发一些简单功能的插件来说难度还是很低的。因为vscode本身是基于electron开发的,所以总体来说开发插件就是在写node代码,额外再加一些 ... 阅读全文 »
实现gitlab PR自动流程处理机器人 发表于 2019-06-06 | 公司团队是使用gitlab来管理源代码的,一直以来当提交了一个PR后,需要手动在内部IM群里贴出PR链接和摘要,然后@目标同事来帮忙review代码,之后就不时地手动刷新页面查看是否有足够的人review完了。这种方式比较原始费时,仔细想想其实大部分流程是可以自动化的。 一些做的好的IM可以实现自定 ... 阅读全文 »
koa源码解析 发表于 2019-04-01 | 这两天看了koa的源码,惊叹于它的简练,仅仅聚焦最核心的功能,其他全部以中间件的形式扩展出去,给了开发者最大的个性化定制。这篇文章用于记录源码的学习笔记,方便日后借鉴思想时能快速回忆起来。 基础用法参考官网给的示范: 12345678910const Koa = require('koa');con ... 阅读全文 »
无限滚动插件vue-infinite-scroll源码解析 发表于 2019-03-26 | 最近在项目中遇到一个需求,有一个列表需要滚动加载,类似于微博的无限滚动。当时第一反应时监听滚动事件,在判断滚动到达底部时加载下一页,同时心里也清楚,监听滚动事件需要做好截流。顺手搜索了下发现有一个现成的插件vue-infinite-scroll,用法也很简单,于是乎就用了起来。 需求上线后,对它的实 ... 阅读全文 »