前端工程化

在前端快速发展的今天,如果不能时刻保持学习就会很快被淘汰。分享一下前端工程化的相关知识。每天进步一点点。

前端工程化概述

写在前面:前端工程化就是为了提高开发者的工作效率降低项目维护成本,从而更好的适应大前端时代下的前端开发工作。以下主要以前端工程化为主题,分别从脚手架工具自动化构建模块化开发规范化标准四个维度介绍前端工程化具体该如何落地、如何实践,以此应对复杂前端应用的开发和维护过程。

一、工程化的必要性

技术是为了解决问题而存在的,前端工程化解决的一些问题:

1、传统语言或语法的弊端

没有前端工程化的时候,想要使用ES6+新特性的时候,存在着兼容性问题

2、无法使用模块化/组件化

没有前端工程化的时候,想要使用Less / Sass / PostCSS 增强CSS的编程性的时候,运行环境下不能直接支持;想要使用模块化组件化的方式提高项目的可维护性的时候,运行环境也不能直接支持

3、重复的机械式工作

没有前端工程化的时候,在部署上线前,需要手动压缩代码及资源文件,部署过程中需要手动上传代码到服务器等重复性动作

4、代码风格统一、保证质量

没有前端工程化的时候,多人协作开发的时候,无法硬性统一大家的代码风格,从仓库中pull回来的代码质量无法保证

5、依赖后端服务接口支持

没有前端工程化的时候,开发部分功能的时候,需要等待后端服务接口提前完成才能开发

二、工程化的表现

1、工程化从创建到部署上线都表现出了它的存在价值

创建项目:使用脚手架工具自动完成项目基础搭建

编码:使用相应的工具自动化的去格式化代码,进行代码风格校验,编译/构建/打包

预览/测试:热更新、Source Map、mock接口数据

提交:使用Git Hooks对项目做整体的检查

部署:一行命令代替传统的FTP文件上传、自动发布,持续集成/持续部署

2、一些成熟的工程化集成

create-react-app、vue-cli、angular-cli、gatsby-cli 等等

三、脚手架工具

在搭建新项目的时候,项目中会有一些相同的组织结构,相同的开发范式,相同的模块依赖,相同的工具配置,相同的基础代码。使用脚手架工具可以快速搭建一个特定的项目骨架,把这些大量的重复的机械性的复杂的工作自动完成,后期基于这个骨架进行开发。

脚手架工具介绍及使用,详见:前端工程化之脚手架工具

四、自动化构建

自动化构建就是把我们开发阶段写出来的源代码,自动化的转换成生产环境中可以运行的代码或者程序,这个自动化转换的过程称为自动化构建工作流。

它的作用是尽量脱离运行环境兼容带来的问题,在开发阶段使用一些提高效率的语法,规范和标准,例如,ES6+、Sass、模板引擎等。

自动化构建工具介绍及Gulp 使用,详见:前端工程化之自动化构建

五、模块化开发

模块化是工程化思想下相对较具体的开发方式,因此可以简单的认为模块化是工程化的表现形式。模块化开发,一个模块就是一个实现特定功能的文件,有了模块我们就可以更方便的使用别人的代码,要用什么功能就加载什么模块。

模块化开发的好处:1、避免变量污染;2、避免命名冲突;3、提高代码复用率;4、提高维护性;5、方便依赖关系的管理

模块化开发具体介绍以及Webpack的基本使用,详见:前端工程化之模块化开发

六、规范化标准

规范化是我们践行前端工程化中重要的一部分。在前端项目的开发中需要多人协同,而且不同开发者具有不同的编码习惯和喜好,不同的喜好会增加项目的维护成本,每个项目或者团队需要明确统一的标准。所以规范化标准是必不可少的。

规范化标准具体介绍以及ESLint的基本使用,详见:前端工程化之规范化标准

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值