- 建立 开发规范,最重要的就是 git 分支使用规范,至少有个 release 分支对应生产环境,pre 对应预发,qa 对应测试环境
- 建立统一的项目模版,比如单页,多页,后台管理,组件开发,小程序,Nodejs 项目,然后通过 cli 来选择 项目模版,模版选择后,直接生成项目,然后把调用 gitlab 的 api, 在 gitlab 上创建项目,push项目,这样就收拢了大家创建项目的方式, 自动统一了代码规范
- 基于上面这个,就可以做基于 gitlab ci/cd,阿里云 oss 的持续集成,完成 push => 构建 => 上传oss(或者静态资源服务器,自动绑定域名,接 cdn,这样一条龙的服务,人手够的话也可以把 2,3结合一起做成基于 GUI 网页的创建,因为这里接管了大家发布代码的规范,后面就可以干很多事了
- 把内部的 npm 私服搭建起来,做一套内网的 npm 组件开发构建 publish 一条龙服务,建一个组件展示平台,这样人多了,大家接可以互相用起来,方便的很
- 因为有了上面 3 的收拢,我们就可以上线代码风格校验,检测线上发布是否包含了 sourcemap文件,接着人手够,老板支持的话,可以统计每个项目的依赖,存储到数据库,这样某天某个第三方出了问题(比方包含了挖矿脚本),就能立马找到那个项目依赖了,对于内部 npm 组件,谁使用了,也是很清晰,这样组件更新了,也可以企微,钉钉,邮件的方式自动通知到使用方,再大胆些,还可以每次发布前通过 puppeteer 跑下项目,统计了 性能数据,和之前的数据对比下,偏差太大也可以通知到对应负责人,让他检查下
- 建立监控体系,监控体系可以简单,可以复杂,看领导的支持度,最基础的功能是,做 pageLoader 监控,意思是页面加载成功后上报下数据,表明当前页面是正常的,这样每次上线后,就通过消息通知到开发去观察 pageLoader 曲线的变化,这样就不会发布后, 2 眼一抹黑,也不知道线上是个什么情况,出了问题,也可以通过 gitlab ci/cd 立马回滚代码,这个是个很强的需求,基本上老板肯定是支持的,那线上出了错也不知道是啥子错,咋办,那我们把 线上错误上报上来,就很直观了,还可以结合 sourcemap 把错误和打包前的文件映射起来,便于定位问题,没人手就用开源的有 sentry,有人手的就自己开发
- 监控建立起来了,是不是得做个报警机制啊,比方某个桥接更新了,和之前的不兼容,之前运行好好的的页面一直报错,错误上报达到一定量就报警起来,那就去把上报的数据捞起来做个统计分析,还可以结合 prometheus,做个好看展示曲线
- 既然错误监控都做了,那把页面性能监控也做了吧
- 哎,咋监控后性能数据这么差,是哪里出了问题,哦,打包文件太大,那 Webpack 得好好学习下,怎么拆分,啊,发现 http 请求时间太常,是不是 CDN 哪里出了问题,是不是资源没开启压缩,那这个链路还不熟,得好好学习下
- 什么前端的监控都给做了,能不能协助下客户端的同学,把他们的 crash 上报,冷启监控都给做下
- 要做上面这些,至少需要会门后端语言,会数据库啊,我擦,刚好上手 Egg.js Mysql 开发啊,之前不是学习 Node.js 没有场景使用么,一下子这么多场景来了,刚好带薪学习
- 我擦,接了前端,客户端上报,请求数量一下子上来了,随手写的垃圾 Egg 代码,性能跟不上了,加班优化吧,不然不被骂死,还不行,加机器吧,加机器要做负载均衡啊,这个不会啊,赶紧学习去,是不是还需要做缓存,那还得学习下 Redis
- 活动页天天写,可是有很多落地页都是非常简单的,每次都得 copy 个项目,然后改改图片,改改样式,太烦了,没有成长啊,那要不我来整个托拉拽生成页面,把这些页面元素都独立成组件,让运营自己去拖动,生成她需要的,这不就是个 就是时髦的 「可视化搭建么」把自己解放出来
- 简单的落地页可以这样整,那难的 活动页咋办,比如 大转盘,红包雨,发现这些活动复杂些,简单的搭建不好解决,但是发现,这些好像也可以抽象,抽象成玩法的概念,那得加个配置中心来配置玩法
- 发现每个项目组活动页有自己不同的 api,还有些活动会用相同的api,怎么办,每个人还不一样,我擦,这样配置中心用起来太麻烦了,是不是做个服务平台,把这些 API 都包成 BaaS,然后想用的人 自己写写代码来组合 api ,那这个要用 Fass 了,额,一步小心,做了个粗糙版的 Serverless
上面的 1 ~ 6 条是超过 6个人前端组都可以干的事,大大节省人力,到现在我发现还有人,是把打包好的文件,拖动服务器上去了,人肉打包机
7 ~ 12 15人左右的团队必须上了
13 ~ 15 每个单拎出来都是亮点项目,非常提升人效,也是晋升,跳槽很好吹水的点
上面这些听起来没有大家常听的那些时髦,比如 SSR,微前端这些,很多开发者总想着搞些时髦的技术,实际上解决公司当下的一些同事常常抱怨,经常重复的地方,更是我们应该做的,围绕当下业务,解决当下问题