[组件库的使用和自定义组件 | 青训营笔记]

248 阅读4分钟

[组件库的使用和自定义组件 | 青训营笔记]

组件库介绍

定义

  1. 组件(Component)是对数据和方法的简单封装。
  2. 软件组件:封装好的可复用的程序“零部件”

社区组件库

1683984822062.png

组件库的使用

引入步骤

1683985125185.png

  1. 引入组件库
  2. 安装按需加载插件balel-plugin-import
  3. 修改babel配置,引入插件

主题定制

  1. 通过CSS进行样式覆盖
  2. 修改Less变量

自定义组件

业务组件库搭建

架构设计

1.单包架构:一个代码仓库里所有组件打包成一个整体,发布出去一个npm包

注: npm是JavaScript包管理工具,用于Node.js项目中模块和包的管理。

  • 包管理:npm可以方便地下载和安装开源JavaScript包和模块。npm仓库中有超过60万个开源包,几乎涵盖了所有的JavaScript需求。
  • 依赖管理:npm可以自动安装和管理包之间的依赖关系。如果你安装一个包,npm会自动安装它依赖的所有包。
  • 版本控制:npm可以很容易升级和降级包的版本。这样可以最大限度地避免版本不兼容的问题。
  • 脚本管理:在package.json文件中,可以定义脚本,然后使用npm run命令来执行脚本。这使得我们可以自动化构建、测试、发布等流程。
  • 全局安装:使用npm install -g可以将包安装到全局,这样可以在命令行使用该包提供的命令。比如安装了gulp-cli,就可以在终端使用gulp命令。
  • 发布包:使用npm可以很方便地将自己开发的包发布到npm仓库,供其他开发者使用。
  • 目初始化:使用npm init可以快速初始化一个Node.js项目,创建包管理所需的package.json文件。
  1. 多包架构:在一个应用或系统中采用多个包来组织代码和功能的方式。

技术方案

  1. 开发环境
  2. 样式方案
  3. 产物构建
  4. 质量保障

对外文档

  1. 文档部署
  2. 组件API提取
  3. 版本日志生产

业务组件快速托管

  1. 网络托管,又称云托管或云主机,是指将网站、应用、数据等资源托管在远程服务器上,而不是本地服务器上。

network 托管有以下主要优点:

  • 低成本:网络托管可以提供灵活的计费模式,包括按量付费、按时付费等,这可以降低 IT基础设施投资和维护成本。
  • 高可用性:网络托管商有成熟的服务器集群和数据备份手段,可以最大限度保证网站和应用的可用性。
  • 易扩展:用户的网站流量和数据存储需求变化时,可以轻易添加或修改计算、存储和网络资源,实现快速扩展。
  • 专业运维:网络托管商有专业的运维团队,可以实现全天候监控,并快速定位和解决存在的问题,确保应用的稳定运行。
  • 安全可靠:网络托管商会提供完善的安全设施和防护措施,包括防火墙、入侵检测、数据加密等,可以降低安全隐患的概率。
  • 灾备能力:网络托管商具有成熟的灾难恢复机制,包括数据实时备份、多地域部署、容灾演练等,这可以最大限度减少数据和服务的损失。
  1. 业务组件快速托管指通过工具和平台,快速部署和托管应用程序和服务的能力。这可以大大提高研发效率,缩短上线周期。

常见的业务组件快速托管方式主要有:

  • Docker:Docker可以将应用程序和依赖打包在容器中,这 makes 部署简单快捷。使用Docker Compose可以 Orchestrate多个Docker容器,快速部署一个完整的应用环境。
  • Kubernetes:Kubernetes是一个开源容器编排工具,可以自动化部署、扩展和管理容器化应用。利用Kubernetes可以实现业务组件的快速托管和弹性扩展。
  • Serverless:Serverless可以将应用拆分成独立的函数,并由平台自动部署和运行。开发者只需要关注应用逻辑,平台会自动扩展和管理资源。这可以实现业务组件的零配置部署。主流的Serverless平台有阿里云函数计算、腾讯云云函数和AWS Lambda等。
  • Microservices:微服务架构通过拆分应用为一组小的服务,每项服务运行在其独立的进程中,并使用轻量级机制通信。这适用于快速托管, мож通过CI/CD工具自动构建和部署。
  • PaaS:PaaS平台提供了一套完整的应用托管解决方案,包括应用构建、部署、监控、扩展等功能。开发者可以快速在平台部署应用,而无需管理底层基础设施。主流PaaS有Cloud Foundry、Deis、OpenShift和 veil 等。