前端工程化-概览| 青训营笔记

125 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的的第1天

一句话前端工程化?

前端工程化就是遵循一定的标准和规范,通过工具去提高效率并降低成本的一种手段。

前端工程化从何说起?

早些时候前端开发就是实现页面,顶多再写写JS让页面可以有交互的效果而已。但是随着业务需求的增加,我们不仅要做Web应用,还要做App、小程序以及各种端。在这种需求日增的情况下,必须得考虑使用一种新的方式,来提升前端工程师的开发效率。例如,解决代码冗余,项目可维护性,提升版本迭代速度等等一系列的问题。前端工程化的概念也就是在这中情况下被提出了。

前端工程化解决了什么问题?

  • 传统语言或语法的弊端(es6、es7等新特性;sass、less预编器等)
  • 无法进行模块化/组件化开发
  • 重复的机械式工作(如部署上线前需要手动压缩代码及资源文件、部署过程需要手动上传代码到服务器)
  • 代码风格统一、质量保证
  • 依赖后端服务接口支持(部分功能开发时需要等待后端服务接口提前完成)
  • 整体依赖后端项目

实现前端工程化的前提-前后端分离?

在以前前端同学写好前端代码后会交由后端同学作为模板渲染使用(前后端未分离),这样就会出现以下问题:

  • 业务耦合性强(需要开发人员既懂前端有需要懂后端)
  • 指责不明确
  • 开发成本高

而现在前端代码将完全与后端代码分离,很多业务前端也能自己实现(前后端分离),这样便能解决如上所述的问题,同时这也是我们进行前端工程化的一个大前提。

如何实现前端工程化?

在这之前需要了解前端工程师主要负责的内容:

  • 静态资源和动态资源的处理;
  • JavaScript实现前端业务逻辑;
  • HTML模板文件的产出;
  • 前端单元测试;
  • 前端项目部署;
  • 使用构建工具实现项目构建

常见构建工具WebpackViteRollup

  • 使用预处理器处理源代码

JS预处理器:BabelSWC

Css预处理器:SASSSCSSLessStylus

  • 模块化开发 & 组件化开发

ESMoudleCommonJsVue SFC

  • 接口数据Mock

ApifoxFastMock

  • 规范化约束

JS代码检查:ESLint

Css代码检查:StyleLint

代码格式化:Prettier

  • 流程化部署

CI/CD