[组件库的使用和自定义组件 | 青训营笔记]
组件库介绍
定义
- 组件(Component)是对数据和方法的简单封装。
- 软件组件:封装好的可复用的程序“零部件”
社区组件库
组件库的使用
引入步骤
- 引入组件库
- 安装按需加载插件balel-plugin-import
- 修改babel配置,引入插件
主题定制
- 通过CSS进行样式覆盖
- 修改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文件。
- 多包架构:在一个应用或系统中采用多个包来组织代码和功能的方式。
技术方案
- 开发环境
- 样式方案
- 产物构建
- 质量保障
对外文档
- 文档部署
- 组件API提取
- 版本日志生产
业务组件快速托管
- 网络托管,又称云托管或云主机,是指将网站、应用、数据等资源托管在远程服务器上,而不是本地服务器上。
network 托管有以下主要优点:
- 低成本:网络托管可以提供灵活的计费模式,包括按量付费、按时付费等,这可以降低 IT基础设施投资和维护成本。
- 高可用性:网络托管商有成熟的服务器集群和数据备份手段,可以最大限度保证网站和应用的可用性。
- 易扩展:用户的网站流量和数据存储需求变化时,可以轻易添加或修改计算、存储和网络资源,实现快速扩展。
- 专业运维:网络托管商有专业的运维团队,可以实现全天候监控,并快速定位和解决存在的问题,确保应用的稳定运行。
- 安全可靠:网络托管商会提供完善的安全设施和防护措施,包括防火墙、入侵检测、数据加密等,可以降低安全隐患的概率。
- 灾备能力:网络托管商具有成熟的灾难恢复机制,包括数据实时备份、多地域部署、容灾演练等,这可以最大限度减少数据和服务的损失。
- 业务组件快速托管指通过工具和平台,快速部署和托管应用程序和服务的能力。这可以大大提高研发效率,缩短上线周期。
常见的业务组件快速托管方式主要有:
- 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 等。