技术拆解-图说新闻平台
拆解思路:
1、先通过 package.json 了解用到的技术
2、启动程序
3、【关键】通过 vue-devtools 查看页面组件结构
4、通过组件名称,跟踪页面代码
用到的技术
Vue:前端框架
Vuex:状态管理(页面不同区域的数据状态联动)
elementui:页面样式
html2canvas:导出图片
vue-draggable-resizable-gorkys:拖拽、粘合
xlsx:解析 excel
jQueryUI:组件拖拽排序用到了sortable、文本框用到了 draggable 等
Cropper:图片裁剪插件
medium-editor:文本编辑
程序设计
如何快速设计一个组件的 HTML 和样式?
通过 ElementUI 来构建,只要把其用熟练,模块化组装一个组件是很快的。
技术难点
图片裁剪
用第三方插件来实现。
组件中的局部图片替换
通过绝对定位给页面盖上一张图片是简单的,但是我们要考虑添加的这个图片,需要跟随者整个组件的移动而移动。
因此图片的位置应该是相对组件的,而不是相对整个页面。
目前做的图片替换,其实是在组件模板中,就已经给图片固定了位置,然后直接替换这个图片,这样是比较好实现的。
后面我们需要考虑图片可以随意放位置的情况,不过这个应用场景并不多,可以靠后。
Vue.nextTick()是个用于拖动、定位的好方法。
提效方案
需求模糊
ZZY 充当产品经理,给出文本的需求文档和 Axure 交互稿
每次确认需求时,开发向产品经理说一遍需求
频繁被打断
找其他同事,这几天先帮忙在反馈群里值班
被新技术卡住
遇到问题,10 分钟没头绪,就找公司其他组的经验丰富的同事寻求帮助。
基础技能(git)
先把最常用的几个命令琢磨透
提高提交代码的频率
遇到冲突,自己没把握的,向提交方确认下,再确定处理方案
总结
- 你看过的、用过的组件越多,效率就越高、风险就越小(比如拖拽排序)
- 初期合理的页面布局、组件、数据流动设计,会让你后面开发的时候事半功倍
- 遇到实现难点,先讲出来,再开发,这样思路清晰,还可以避免返工