前端工程化

114 阅读3分钟

现在的网站是怎么开发的?

现在开发主要是先考虑局部,在考虑把这些组件按照浮动还是定位放到网页中。 而我们平时做项目先考虑布局

下面四个“化”整体构成了前端开发工程化。

模块化

模块化:就是想一个大文件拆分成相互依赖的小文件,在进行统一的拼装和加载。只有这样,才能有多人协作的可能。

JS的模块化

  • 在ES6之前,JS一直没有模块系统,这对开发大型复杂的前端工程造成了巨大的障碍。对此社区(就是一些论坛)制定了一些模块加载方案,如CommonJS、AMD和CMD等。某些框架也有自己的模块系统。必去Angular1.x.
  • 现在ES6已经在语言层面上规定了模块系统,完全可以取代现有的CommonJS、AMD规范。而且使用起来相当简洁,并且有静态加载的特性。

模块化(其实它是webpack的好处)的好处:

  • 依赖关系单一化。所有css和图片等资源的依赖关系统一走JS路线,无需额外处理css预处理器的依赖关系。
  • 资源处理集成化。
  • 项目结构清晰话。使用webpack后,你的项目解构总可以表示成这样的函数:dist=webpack(src-config)

组件化

  • 组件化:是在设计层面上,对UI(用户界面)的拆分。也可以理解为是对网页完整功能的拆分。
  • 从UI拆分下来的每个模板包含(HTML)+样式(CSS)+逻辑(JS)功能完备的结构单元,我们称之为组件。
  • 首先,组件化!=模块化,好多人对这两个概念有些混淆。
  • 模块化只是在文件层面上,对代码或资源的拆分,而组件化是在设计层面上,对UI(用户界面)的拆分。
  • 其实,组件化更重要的是一种分治思想。
  • 页面是个大型组件,可以拆分成若干个中兴组件,然后中型组件还可以再拆,拆成若干个小型组件,小型徐建也可以再拆,直到拆成DOM元素为止。DOM元素可以看成是浏览器自身的组件,作为组件的基本单元。
  • 传统前端框架/类库的思想史先组织DOM,然后把某些可复用的逻辑封装成组件来操作DOM,是DOM优先;而组件化框架/类库的思想是先来构思组件,然后用DOM这种基本单元结合响应逻辑来实现组件,是组件和模块两者的本质的区别。
  • 目前市面上的组件化框架很多,主要有Vue、React、Augular2

规范化

规范化:在进入公司做项目之前,可能会给一个编码规范、前后端接口规范、文档,里面规定了命名、组件管理、git分支管理、commit描述规范、目录结构的定制、定期CodeReview(代码评审)、视觉图标规范

自动化

自动化:用一些自动化的工具帮助我们去实现一些功能。即能用程序做的就让程序做,我们自己不写很多繁琐的代码。