前端构建(一)——初谈构建发布的发展历史

307 阅读2分钟

前言

本文只是从构建发布的层面去见见前端发展历程,不会把那些百度百科的东西搬进来,让新手可以初步的理解前端工程化做什么

发展阶段

模版语言

web1.0时代 这时候,前端工程师只是纯粹的在后端语言上用js修改dom,典型php的wordpress和jsp;

  • 前端路由和服务端是在一起的,前端的所有请求都需要刷新页面
  • 前端的发布直接通过ftp协议上传到服务端的MVC的view层目录下,典型的服务容器Apache,xampp相信你们应该用过(那个配置真的。。。)

ajax前后端分离

web2.0时代Ajax的出现,这时候前端可以做到了掉接口无刷新页面,开始出现了丰富的交互,典型代表jquery

  • 前端路由和服务端依旧是在一起的,一些ide已经可以做到开发时候自己刷新页面了
  • 富交互的出现,前端代码量增加,前端的发布开始用一些本地的shell脚本或者工具去压缩js、html、图片,通过接口上传到服务器
  • nginx逐渐开始推广,简单的静态文件访问配置,可以做到上线前后端分离

构建工具时代

H5时代,交互越来越复杂,前端代码暴增,出现了一堆模块依赖处理的框架典型的angular、vue、react

  • 前端路由与服务端分离、一些开发工具可以做到实时构建和热更新(比如webpack)
  • node的出现使得前端自己可以在工程化做更多的事情,代码检查-》构建-》预览-》跑分-》审批-》AB/全量上线

gulp

  • 基于pipe流去处理任务,和cicd一样,但是无法做依赖分析
  • 这时候任务流一般都只是用来压缩、拷贝和发布,初步的应用ast

webpack

  • 可以做依赖分析,有固定的生命周期,插件只能在构建的生命周期内处理
  • 广泛的应用ast根据依赖进行转译(jsx->js或者vue-》js),压缩、拷贝、构建持久化

结语

工程化其实就是把人工原来手动做的事情自动化,节约人效

相关wiki:zhuanlan.zhihu.com/p/53211263