组件化

组件化

July 17, 2022
frontend

什么是组件 #

任何可被共享的函数,库,ui 等,都可称之为组件

一切皆组件: 中间件,service,controller,module,hook 等都可统称为组件,不仅仅局限于前端

Why #

一致性

避免重复工作,提效

新人友好

中心化 #

中心化的组件仓库,所见即所得,single source of truth

去中心化 #

去中心化开发,可在任意代码仓库里向中心化组件仓库贡献组件

版本控制 #

类似 git

Tag #

semver

快照 #

能快速针对某个状态的组件进行记录,方便调试

生产者 #

被依赖方,组件的生产者,开发者,维护者

消费者 #

消费并使用组件,依赖方

Bit #

component-driven architecture

Apps #

可被部署的组件,可作为独立的后端或前端应用,或作为运行时,微服务,微前端,serverless function 等被其他 app 消费

apps 为独立的,包含其所有构建,部署等所需要的信息

Aspect #

Service,使用 Aspect environment

用来拓展 bit 功能的组件,也可用来构建用户的可组合应用

Workspaces #

一系列的文件和目录,提供组件组合和版本控制的必要上下文

组件打了版本并导出到 scope 后,会跟 workspace 解耦

Scope #

组件协作的 server, 从本地 workspace 导出组件,远端存储,然后跟其他人写作,类似 git

组件从 scope export 和 import

Env #

开发环境, 工具,生产者及其配置,用于组件开发,包括组件文档,编译,测试,构建等