乐趣区

关于前端:极客星球-前端工程化之路的探索与实践

前言

随着业务越来越重,越来越简单,双倍工作量,团队规模必定不会扩充双倍,蛮力曾经无奈继续高效的反对业务,如何就地取材地打造出适宜本人的前端工程化,成了每个到了肯定规模的前端团队都在思考和摸索的问题。但在没有钻研出适合的计划时,不能自觉地去谋求工程化,为了工程化而工程化,节约人力投入的同时,也会削减本人后退的能源。

会遇到什么问题

  • 新旧我的项目交错,存在各种技术栈,同一 UI 格调,根底组件没法复用,难以对立治理
  • 成员间程度各异,编写代码的格调和应用的技术栈各不相同
  • 不同我的项目 Webpack 配置差别过大,根底工具函数库和申请封装不一样
  • 短少代码正文、我的项目文档,commit 信息格式不对立,新人接手艰难,旧我的项目难以保护
  • 解决方案不足积淀,不同人遇到同一业务场景,须要反复采坑
  • 一个人独立负责一个我的项目,一到职,交接老本会比拟高
  • UI 短少对立组件、接口格局不对立

    ……

须要先做什么

一、对立标准

对立的标准能够升高保护老本,助于团队合作,同时养成良好的代码标准,也有助于本身的成长。

1. 代码标准 -ESLint

  • 常见的格调有 airbnb、google、standard、prettier
  • 依据文档配置出适宜本人公司格调的

2.git 标准

  • 分支治理标准
  • commit 标准

3. 我的项目文档标准

  • 标准化 Readme 格局
  • 写分明我的项目阐明、环境依赖、启动命令、部署形式、目录构造、技术栈、问题阐明等

二、技术选型

前端始终都在讨 (zheng) 论的话题,三大框架 vue、react、angular,如何选其一,中小团队,能够简略粗犷点依据以下特点来判断:

  • 高效、成熟、生态丰盛
  • 以后团队人员最相熟的
  • 市场占有率高的

三、对立物料

1. 脚手架

  • 对立配置
  • 对立我的项目构造
  • 集成根底框架、组件库、办法库、工具

2. 公共组件

  • 对可复用的性能、业务组件化
  • 对立组件开发标准
  • 组件库的治理

3. 公共 UI

  • 和设计师沟通,制订对立的 UI 规范
  • 应用对立的组件库

4. 工具函数库

  • 对立应用的工具库,如日期解决、加密、ajax 申请、可视化等
  • 轻量的本人写,较简单的用开源或者依据团队精力去安顿开发

5.CI/CD

  • 云打包
  • 云检测
  • 自动化部署

四、对立合作工具

1. 日常沟通(微信、钉钉等)

2. 需要治理(Jira、禅道、teambition、TAPD 等,或者在线 Excel)

3. 接口文档(RAP、eolinker、swagger、YAPI 等)

将来

1. 单元测试

  • 对一个函数、一个组件做测试
  • TDD 开发模式是否实用以后场景

2. 埋点与剖析

  • 性能监控(白屏工夫、页面加载耗时、DOM 渲染耗时、资源加载耗时等)
  • 谬误监控(资源加载谬误、js 执行谬误、promise 谬误)
  • 信息收集(UV、PV、停留时间、操作记录等)

3. 丰盛标准

4. 本地开发环境工程化

5. 模块化业务

6. 可视化零碎

那么,什么是前端工程化

所有以晋升前端开发效率,升高前端开发老本,进步前端利用品质为指标的工作都是前端工程化。小到一个办法一个组件一个规范,大到一个工具一个框架一个平台,都是工程化之路,不要因为小而疏忽,也不要因为大而自觉谋求。工程化是和公司业务阶段相匹配的。不同的业务阶段,内容和广深度也会不同。公司可分为初创期、生存期、疾速发展期、成熟期、大成期。每个阶段须要适配不同的工程化水平。

结语

本次次要分享了整体的框架,每个环节都有很多须要深刻摸索的货色,下次有机会分享单个环节怎么去深挖细化,心愿大家能跳出舒服区,一起致力推动本人、团队、公司的提高。技术的价值,在于解决业务问题;人的身价,在于解决问题的能力。诸君共勉。同时,我司前端团队正在摸索和打造适宜本人的前端工程化,如果你想和咱们一起提高,欢送退出咱们。

退出移动版