0
点赞
收藏
分享

微信扫一扫

吃透前端工程化,大厂级实战项目以战带练

Download:

​​吃透前端工程化,大厂级实战项目以战带练​​


前端工程化

前端工程本质上是软件工程的一种。软件工程化关注的是性能、稳定性、可用性、可维护性等方面,注重基本的开发效率、运行效率的同时,思考维护效率。一切以这些为目标的工作都是"前端工程化"。

前端工程化面临的问题:

(一)开发

大体量:多功能、多页面、多状态、多系统;

大规模:多人甚至多团队合作开发;

  • 提高开发生产效率
  • 降低维护难度

这两个问题的解决方案有两点:

  • 制定开发规范,提高团队协作能力;
  • 分治。软件工程中有个很重要的概念叫做模块化开发其中心思想就是分治。

(二)部署

从部署角度,要解决的问题主要是资源管理,包括:

  • 代码审查
  • 压缩打包
  • 增量更新
  • 单元测试

(三)高性能

CDN 部署、缓存控制、文件指纹、缓存复用、请求合并、按需加载、同步/异步加载、移动端首屏 CSS 内嵌、HTTP 2.0 服务端资源推送。

前端工程化

1.规范化

规范化其实是工程化中很重要的一个部分,项目初期规范制定的好坏会直接影响到后期的开发质量。

  • 目录结构的指定
  • 开发规范的目的是统一团队成员的编码规范,便于团队协作和代码维护。开发规范没有统一的标准,每个团队可以建立自己的一套规范体系。
  • 前后端接口规范
  • 文档规范 readme changelog
  • Git 分支管理
  • Commit 描述规范
  • 定期 CodeReview

2.模块化&组件化

组件(component)和模块(module)应该是两个不同的概念。两者的区别主要在颗粒度方面

用通俗的话讲,模块可以理解为零件,比如轮胎上的螺丝钉;而组件则是轮胎,是具备某项完整功能的一个整体。具体到前端领域,一个 button 是一个模块,一个包括多个 button 的 nav 是一个组件。

模块/组件化开发的必要性

随着 web 应用规模越来越大,模块/组件化开发的需求就显得越来越迫切。模块/组件化开发的核心思想是分治,主要针对的是开发和维护阶段。

3.组件仓库

云物理机部门前端组件工具库:@jd/cloudid_frontend

为什么搭建私有组件库

  • 可复用 跨项目可以使用同一套私有组件库
  • 方便维护 如需组件调整 只需要修改组件库 不需要跨项目重复修改

添加新组件原则

  • 件应先存在于具体项目中,经过重复验证后再抽象、沉淀到本组件库中
  • Vue component 只应负责渲染数据和内部逻辑,尽可能不包含 $t 国际化、ajax 请求等业务数据和逻辑
  • 组件和其他模块应尽可能的搭配单元测试、可运行的 storybook 例子
  • 应该在 CHANGELOG 中记录每次增删改的组件信息等
举报

相关推荐

0 条评论