· 熟练使用 HTML/HTML5、CSS/CSS3,熟悉 Less、Sass 等 CSS 预编译语言,能够快速依据设计稿开发相应页面;
· 熟悉 JavaScript 语言,深入理解 JS 原型与原型链、作用域、闭包等概念,熟悉 Promise、Async/await 等 ES6+ 新特性以及原
理,熟悉模块化,熟悉使用 Ajax 进行前后端交互,熟悉 JS 运行机制、事件循环,了解 Typescript 语法及其 api;
· 熟悉 MVVM 框架,熟悉 Vue.js 语法,并配合其衍生框架开发过多个项目,了解底层实现思想;
· 熟悉使用 Ant Design、elementUI 等前端 UI 框架;
· 熟悉前端性能优化常用方案,如防抖、节流、缓存策略、懒加载等;
· 熟悉基本数据结构,如栈、队列、二叉树、链表、哈希表等,具备基本的算法分析能力;
· 熟悉计算机网络,如 HTTP、HTTPS、TCP 连接和网址到网页的实现过程等;
· 熟悉浏览器基础知识,如垃圾回收机制、页面渲染流程、缓存机制、回流重绘、安全问题等;
· 有前端工程化经验,熟悉 Webpack 基本配置及打包过程,熟练使用 Git 版本管理工具;
· 熟悉微信小程序开发,有独立开发经验;
· 熟悉 Nodejs 和 koa 框架,可以运用其进行接口开发。
Unicorn-低代码平台
项目介绍: 一个能通过拖拽界面、表单配置等简易操作创建网页的低代码设计平台,且能通过预览和发布生成访问链接。该项目用 vue3 实现。
负责与重点:
1. 自定义组件的设计与实现及画布组件的动态渲染;
2. 撤销重做:防止用户操作失误;
3. 组件的位置辅助标线:在用户拖拽组件时会标齐位置,提升用户体验;
4. 组件的选区移动:用户可以通过拖拽形成选区来移动选区内组件;
5. 自主部署:用户可以通过下载项目,将项目部署到自己服务器。
WeShare-共享文档平台
项目介绍: 一个支持用户管理文件、协同编辑、分享文档的共享平台。该项目用 vue3 实现。
负责与重点:
1. markdown 编辑页:实时编译预览、编辑与预览同步滚动、协同编辑;
2. 文件夹管理页:文件夹级联选择器、文件数据缓存功能;
3. 根据用户身份分配不同的权限,支持多用户协同操作。
遇到的问题与解决方案:
1. 浏览器刷新时保存在 pinia 中的数据会被清除。解决方案:开启 pinia 中数据持久化功能;
2. 在实现撤销重做功能时,每次操作都克隆一份渲染数据导致历史记录数据逐渐膨胀。解决方案:采用增量更新方案,只保存修改数据。