组件化原则
- 独立功能模块(松耦合,扁平化,提炼精华)
- 独立的状态变化(统一的状态管理)
- 从上而下的逻辑思考,从下而上的组件拆分
组件化带来的问题
痛点:
- 传统开发 vs 单页面应用
- 代码维护 & 代码管理 & 代码规范
- 组件通信,组件传参
koa
- 路由压缩:
koa-combine-routers
- 静态资源:
koa-static
- web安全:
helmet
调试webpack
开发热加载
- 使用nodemon
- 在Koa应用中支持ES6语法 webpack+babel
- 配置调试脚本
npm-check-updates
: 检查npm的依赖包是否有更新
安装好后可以使用:ncu --help
查看有哪些命令ncu
检查有哪些包可以更新ncu -u
更新依赖包
terser-webpack-plugin
js压缩koa-compose
整合koa中间件webpack-merge
合并webpack配置koa-compress
压缩中间件
UI框架
UI框架选型:
- 判断使用场景(PC,移动Web,小程序,响应式)
- 组件丰富,成熟的模板,方便集成
- 成熟的社区,成熟的生态
PC端
- Layui
- iView
- Ant Design
移动端
- Mint UI
- Cube UI
- Vant
JS框架选型
- 团队的技术能力
- 应用场景(后台,性能,时间)
- 成熟的社区,成熟的生态
开发
需求分析
- 功能需求,需求拆解
- 流程图及原型图的绘制
- 形成文档
工具包:Vuelidate
校验VeeValidate
校验
敏捷流程
- 文档管理
接口文档管理工具:ShowDoc, eoLinker, MinDoc, apizza
Markdown编辑器:Typora, MdEditor, IDE(Atom,VSCode,Webstorm) - 版本管理
- 缺陷控制
- 自动化
版本管理:
版本名称释义:
- alpha
内部测试版本,除非是内部测试人员,否则不推荐使用,有很多Bug - beta
公测版本,消除了严重错误,还是会有缺陷,这个阶段还会持续加入新的功能 - rc
Release Candidate,发行候选版本。这个版本不会加入新的功能,主要是排错,修改Bug - release
版本控制工具Git
常用的Git平台:github, gitlab, gitea, gitee
git核心概念:快照
Git Flow
经典模型的问题:
- 必须使用dev分支
- 复杂度高,hotfix与release分支
- 多次Merge合并
推荐的模型:
第一种:
适合于版本相对于比较稳定,需要进行小版本的更新迭代
第二种:
Git Flow重要意义:
- 多人协作,权限控制
- 解决冲突
- 溯源,问题Issue
Branch创建原则:
- 按需创建
- 重要的版本管理(版本历史)
- 学会使用Tags
搭建Gitlab
- Docker, Docker-compose快速创建
- 配置gitlab, 备份/还原
- 其他:邮件配置,HTTPS配置
搭建Gitlab小结:
- Docker, Docker-compose备份/还原gitlab
- docker-compose命令需要在配置文件目录下执行
- 恢复文件需要使用恢复文件的全名( 包括.tar结尾)
Gitlab权限控制
- 以组为单元,设置管理员
- 熟悉Merge Request,写好git commit
- 及时回收权限,或者设置过期时间
gitignore作用
- 依赖文件:node_modules
- IDE: .idea
- 操作系统:.DS_Store
创建.gitignore文件三种方法:
- 查看github上文件:https://github.com/github/gitignore
- 在线搜索:https://www.toptal.com/developers/gitignore
- 编辑器插件: gitignore generator
Git的GUI工具使用简介:
- Sourcetree
- vscode插件: GitLens