# 什么是物料
在中后台系统的开发中,我们早已习惯了基础组件库搭建我们的页面。然而这些基础组件很难完全满足我们的业务需求,实际项目开发中往往包含大量重复的业务场景。这些业务场景很多都是大同小异的,有些是有一定业务逻辑的组件(用户选择器、表单等),另一些是由基础组件和业务组件组合成的列表、模块,还有一些是页面布局、视觉规范、项目工程化等。如何复用这些业务场景,降低中后台系统开发的成本呢?Vusion 团队通过与其他部门一起共建物料体系,提供丰富的物料来解决这些问题。
物料即组成一个前端项目的不同单位,根据抽象粒度的不同,我们将物料从小到大分为 组件(component)、区块(block)和模板(template) 。在基于物料体系的开发中,我们使用模板物料来初始化前端工程,提供最佳实践,解决工程问题,再使用区块和组件像搭积木一样快速搭建页面。
# 概念解释
物料分为 组件(component)、区块(block)和模板(template) 三种类型:
组件(component):组件是组成页面的基本结构单元,是对局部交互逻辑的抽象和封装。通常需要设计和暴露属性、插槽、事件和方法等 API。使用者根据这些 API 直接使用,一般不需要做二次修改。
从业务维度去看,组件又可分为基础组件和业务组件两种:
- 基础组件:与业务无关的组件,基础组件保持统一的视觉规范,考虑高内聚低耦合的设计思想,例如 UButton、UInput、UTableView 等,在 Vusion 体系,官方维护 Cloud UI 基础组件库;
- 业务组件:面向业务的组件,一般功能比较确定可复用,同时复杂度较高,例如用户选择器、计费卡片等。
区块(block):区块可以理解为在页面中,由一些组件组合而成的代码片段。在一个页面中,使用者可以快速把某个区块的代码添加到自身项目里,进行二次修改。
模板(template):项目的样板工程,包含了完整前端项目所有组成部分,包括布局、常用页面、基础插件、工程配置等,用户可以快速初始化项目。
基于以上三种不同粒度的物料,开发者可以加速前端项目开发。