什么是组件化、模块化、工程化?

组件化:把重复的代码提取出来合并成为一个个组件,组件最重要的就是复用,位于框架最底层,其他功能都依赖于组件,可供不同功能使用,独立性强。组件化更多关注UI部分,每个组件有独立的HTML、css、js代码。可以根据需要把它放在页面的任意部位,也可以和其他组件一起形成新的组件。一个页面是各个组件的结合,可以根据需要进行组装。

模块化:分属同一功能/业务的代码进行分装,让它成独立的模块,可以独立运行,以页面、功能或其他不同粒度划分程度不同的模块,位于业务框架层,模块间通过接口调用,目的是降低模块间的耦合,由之前的主应用与模块耦合,变为主应用与接口耦合,接口与模块耦合。侧重功能的封装,主要是针对Js代码,隔离、组织复制的js代码,将它封装成一个个具有特定功能的的模块。模块可以通过传递参数的不同修改这个功能的的相关配置,每个模块都是一个单独的作用域,根据需要调用。一个模块的实现可以依赖其它模块。

工程化:前端工程化不是具体的某项技术和方法,只要我们引入的方法、技术方案、工具可以提升开发效率、提高前端应用质量,那么都属于前端工程化。前端工程化就是通过一系列的工具、方法、工程化的思维,将成千上万个模块、组件或其他静态资源进行有序、规范、标准化、可控、可追踪的组织起来,作为一个整体运行,以便提高前端工程的性能、稳定性、可用性、可维护性等。

组件化、模块化、工程化带来的好处

组件化带来的好处

当应用是以多组件的方式实现, 这个应用就是一个组件化的应用

1、组件

从UI上拆分下来的每个包含模板(HTML)+样式(CSS)+逻辑(JS)功能完备的结构单元,是一个用来实现局部功能效果的代码和资源的集合

2、为什么要组件化?

一个界面的功能更复杂

3、作用

复用编码, 简化项目编码, 提高运行效率

模块化带来的好处

当应用的JS都以模块来编写时, 这个应用就是一个模块化的应用

1、模块

向外提供特定功能的文件, 可以做到按需引入

2、为什么要模块化?

随着业务逻辑增加,代码越来越多且复杂

3、作用

复用代码, 简化代码的编写, 提高代码运行效率

工程化带来的好处

​工程化是一种思想而不是某种特定的技术,当然我们在实现项目工程化的过程中,我们也会去使用一些技术。前端工程化是使用软件工程的技术和方法来对前端的开发流程、技术、工具等进行规范化、标准化,其主要目的为了提高效率和降低成本,即提高开发过程中的开发效率,减少不必要的重复工作时间。

1、为什么要以工程化的思想来看待前端项目?

​目前,web业务日益复杂化和多元化,单页面应用和webApp风靡。而且前端的生态圈繁荣,各种框架,组件出现,使得前端发展迅速,快速开发已经成为了前端的一个标准。

靠传统的前端三剑客 JavaScript、HTML、 CSS 以及传统的项目结构已经不能满足日益壮大的大型应用的需求,会带来开发效率、维护成本、代码可读性差等问题。

这就要求我们以工程化的思想去看待一个前端项目而不再是直接撸起袖子开写页面,将前端项目当成一项系统工程去进行分析、组织和构建从而达到项目结构清晰、分工明确、团队配合默契、开发效率和开发质量提高以及降低项目生产风险的目的。

2、 那我们又该怎样去做到前端的工程化呢?

  • 页面组件化
  • 代码模块化
  • 代码质量管理 (QA): ESLint
  • 代码编译: babel、less、sass、scss等
  • 代码构建:webpack
  • 项目国际化
  • 代码版本管理:Git、SVN

理解前端组件化、模块化、工程化相关推荐

  1. 前端面试题,前端组件化、工程化、模块化的概念

    1.前端模块化: 可以理解为一组自定义业务的抽象封装,是根据项目的情况来进行封装组合到一起的,比如我们可以分为登录模块,评论模块.模块可维护性好,组合灵活,方便调用,多人协作互不干扰. 2.前端组件化 ...

  2. 什么是前端模块化,组件化,工程化?

    1.前端模块化: 可以理解为一组自定义业务的抽象封装,是根据项目的情况来进行封装组合到一起的,比如我们可以分为登录模块,评论模块.模块可维护性好,组合灵活,方便调用,多人协作互不干扰. 2.前端组件化 ...

  3. 前端组件化和模块化最大的区别是什么_7招提升你的前端开发效率

    前言 前端工程师其实是一个工作很杂的职位,除了要负责切图.写html/css/js外,还要解决一系列的浏览器兼容性.网页性能优化等问题,所以提高前端工程师的开发效率是势在必行的,也是前端工程化的体现. ...

  4. 谈谈我对前端组件化中“组件”的理解,顺带写个Vue与React的demo

    谈谈我对前端组件化中"组件"的理解,顺带写个Vue与React的demo 前言 前端已经过了单兵作战的时代了,现在一个稍微复杂一点的项目都需要几个人协同开发,一个战略级别的APP的 ...

  5. 「前端组件化」该怎么理解?

    大家好,我是若川.今天分享一篇关于「前端组件化」的好文.欢迎点击下方卡片关注我. 以下是正文~ 这里我们一起来学习前端组件化的知识,而组件化在前端架构里面是最重要的一个部分. 讲到前端架构,其实前端架 ...

  6. 前端组件化开发和模块化开发的区别

    前端组件化开发和模块化开发的区别 首先,组件化和模块化的意义都在于实现了分治,目前我们开发的项目复杂度不断的上升,早已不是我们一个人能完成的工作,团队合作的话又会产生配合困难等各方面问题,组件化和模块 ...

  7. 爱奇艺知识WEB前端组件化实践

    组件化作为一种开发模式,其在代码复用,提高开发效率上的效果被广泛认可.组件化思想适用于移动端.Web前端.PC端.TV端等多种类型的客户端和前端开发. 本文主要讲述爱奇艺知识 WEB 前端团队如何结合 ...

  8. html 组件化 编辑器,谈谈前端组件化

    一.什么是组件化 什么是组件化?不同的人对组件化有着不同理解,我理解的组件化是一种编程思想,是一种拆分代码的方式.对前端开发来说,大到一个页面,小到一个html标签都可以说是一个组件.组件化的概念并不 ...

  9. Android 基于注解IOC组件化/模块化的架构实践

    当前参与的项目历史也很久远,第一行代码据说是写于2014年的某一天,那时Android用的ide还是Eclipse.那时Android还没有很好的架构指导(mvp.mvvm).那时Android最新的 ...

最新文章

  1. iOS并发编程指南之同步
  2. java form 上传文件_java通过表单进行文件上传的几种方法
  3. [html] 你有使用过html5的rt标签吗?它有什么应用场景?
  4. NumPy快速入门--基础知识
  5. “骗子”成民企院士第一人:把认真当信仰,人生就会开挂
  6. MOSS之:DataForm Web Part解析
  7. 《深入理解 Spring Cloud 与微服务构建》第十章 路由网关 Spring Cloud Zuul
  8. ps滤镜下载大全-PSCC 64位滤镜收集
  9. 【教学类-10-01】20221025《空心图案4*2-有重复》( 随机图案拼贴)(大班主题《动物花花衣》)
  10. JMeter使用教程(一)
  11. 分兵策略应对高速发展
  12. 磁共振线圈分类_磁共振线圈(二)
  13. 这份Java日志格式规范,拿走不谢!
  14. YouTube技术架构
  15. 外卖行业现状分析_O2O模式下的外卖行业的发展现状和前景分析
  16. Tableau超市案例分析
  17. 计算机出现蓝屏怎么解决,电脑开机出现蓝屏怎么解决?
  18. 一个简单的爬虫例子-天气
  19. 新旧骗术揭秘:防止5G时代的电信诈骗
  20. css 页面缩放边框产生空隙相关

热门文章

  1. android system挂载
  2. 还在烧钱式推广?试试指标量化营销漏斗 精准提升广告转化
  3. Vue导出word附表部分横向显示(承接上一篇Vue纯前端导出word)
  4. https之数字证书分析
  5. 2022年P气瓶充装考试模拟100题及模拟考试
  6. 【生活思考】恋爱与工作
  7. 背景音乐与(消防)紧急广播的切换
  8. python数组数字求和_python数组求和
  9. 二本学生小公司实习遭领导歧视,于是逆袭进百度!
  10. 全球及中国催化剂二氧化碳变送器行业研究及十四五规划分析报告