2021年1月

还没写
别催了在写了在写了(逃

制作一个作品集网页

计划使用微前端嵌入我的其他小项目。做这个主要是为了学一下微前端。

完善 Start 项目

将作为(我个人的)网址导航以及浏览器首页,是一个尝鲜用的项目。

其实就是玩,边玩边做,用一些没用过的技术瞎搞,什么不会用什么,比如 yarn2、浏览器拖放 API、github/workflows 什么的。

整几篇博客文章

很久没有写文章了,平时学习都是不会的不敢写怕说错。会了之后就觉得没啥必要就那么回事。加上有那么一点点懒?

所以决定,有空针对性的选几个题,争取写个三五篇文章出来给我的博客充充门面!

搞一个 React 的项目出来

因为平时都是 Vue 一把梭,React 这一块就没怎么研究。偏科不好,还是搞个项目边学边做比较好。但是没啥想做的,工作上的项目全都是 Vue。所以待定吧……

研究一些 CSS 方面的花里胡哨

平时都是 js 写业务,特别是现在做的内部系统。对美观要求极低能用就行……但是!作为一个有追求的前端,我要搞一些一看就很厉害的动效出来放进作品集。

公司年会要准备年终总结,还要做 PPT。不会写文章外加沉默寡言的我想想就头疼。
所以决定先在这里列一个大概的大纲,毕竟博客也荒废太久了。顺带测试一下 MWeb 这款app,因为它可以直接发布 markdown 原文(实测选择“发布为markdown” typecho没渲染成html) 到 typecho 博客(其实这才是发文章的主要原因)。


工作总结

主要是做了两个项目

  • 智联互充小程序
  • 办公系统

智联互充小程序

智联互充小程序的 uni-app 版本的重构。

  • 微信端包体积过大,无法发布。其他端首次加载缓慢。
    1. 通过分包加载,将小程序页面分为主包、公共页面、用户页面、管理员页面。主包仅包含开屏图片以及公共依赖。
    2. 将活动页面做成独立分包,通过活动链接进入小程序只加载独立分包。
    3. 引入工程化插件,打包前将图片压缩。
  • 实现路由拦截,统一处理页面跳转以及鉴权。

内部办公系统(ERP、CRM)

vue2 开发的部署在内网的一个公司内部办公自动化系统。

  • 编写 CURD 组件,将繁琐的列表增删改查抽象成一个组件。通过后端下发配置文件来动态生成列表和编辑页面,实现筛选、分页、权限验证、查看新增编辑删除。
  • 各种流程单页面不像列表页面大同小异,他们异化很大。但是仔细观察发现内部几乎都是类似的元素排列组合。所以我通过继承 CRUD 组件配合自定义配置导入不同组件的方式来实现流程单的编写。
  • 请求缓存,很多页面都会需要类似的数据。比如物料分类、部门列表。如果单独定义缓存,工作量很大不说,内存管理、依赖管理、数据污染都不好做。思来想去决定缓存请求,在编写业务逻辑的时候不需要关心其他业务组件有没有依赖他们。目前算法很简单只是通过 url 和参数计算哈希来确定唯一性默认只缓存 get 请求并且写死两秒失效(可以在调用重新设置)。后续有精力可以加入淘汰算法和垃圾清理来提高缓存效率。


学习总结

  • 完整学习了 uni-app 以及微信小程序、支付宝小程序的开发,包括支付对接、分包优化、路由拦截、第三方登录等。并且实战项目没出大问题。
  • vue2、vuex、vue-router等 vue 全家桶算是都基本熟练了。计划明年强化学习 vue3 以及 React 系列。并且开始阅读源码。
  • 在开发中不再是调包侠,遇到问题能在源码上思考问题。在问题的思考上能更有深度。
  • 参与 GitHub 社区以及微信开发者社区的讨论。在几个小项目 pr 成功成为贡献者。