难点
- jspdf+html2canvas
难点:需求要求在页面中预览时,如果内容过多则需要出现滚动条。但是jspdf_html生成的pdf就会将滚动隐藏的内容截断。 解决办法:在生成pdf之前先将overflow值改为visible,在执行完jspdf的实例方法addImage之后改回scroll,这样就能防止内容缺失。
-
难点:使用mavon-editor富文本编辑成功之后回显文件名称,点击文件名称可以下载文件。这个时候使用事件代理,在这个组件上设置听函数,利用冒泡原理去触发父级的点击事件,然后再去利用target判断事件发生的节点。 解决办法:查阅can i use, 发现浏览器不支持addEventListner事件,所以增加了attachEvent事件去支持ie浏览器上面的这个功能. addEventListener(event, fn, useCapture) addevent('on'+event, fn)
-
不同浏览器的margin、padding不一样 可自己定义重置样式,也可使用nomalize.css插件来重置样式
-
第一次独立负责项目 难点:
- 集团内部首次尝试产线联合开发
- 跨地区合作,沟通问题
- 产线差异如何处理
-
ui规范 UI:枚举、枚举颜色、表单项title后的冒号,表单内容是否换行,表格内容是否换行,时间格式化方式 交互:删除时给出确认提示? 详情使用新页面还是打开抽屉?
-
开发过的可复用组件 卡片组件、上传组件&下载组件、可编辑表格、详情抽屉、可操作树(支持添加、删除、编辑节点)、分步表单等
-
系统安全平台:资产管理、漏洞管理、告警管理、作业调度、运营后台、系统管理
-
最近在学习ts,它比es6增加了类型校验,并且可以充当文档。
-
怎么重构?
- 重构原因
- 逻辑耦合,维护困难
- 复制粘贴,重复的代码较多
- 单文件代码行数过多
- 硬编码
- 页面卡顿问题
- ....
- 如何重构?
- 重新梳理业务需求
- 确定重构目标,时间,人力成本
- 从全局到局部开始重构
- 删除没有使用到的文件、没有引用到的依赖
- 按照公司规范调整项目目录结构的划分
- 抽离公共组件、样式、工具方法等
- 拆分耦合的业务逻辑
- 拆分单文件代码函数过多的组件,标准是250行左右
- 长列表进行分页/虚拟滚动处理,图片使用精灵图,引入组件库的组件时按需引入
- 汇总可能影响到的测试用例,测试同学着重对这些地方进行测试
- 测试完成上线
- 评估重构结果
- 文件数量
- 代码总行数
- eslint是否全部校验通过
- 是否覆盖了项目原有的功能
- ui交互是否一致美观