mess-cli : 一个前端微服务架构脚手架(beta版)

835 阅读3分钟

阅读本文需要较长的时间,本文介绍了微服务的概念、笔者心中的前端微服务,以及基于mess-cli脚手架,如何快速生成一个前端微服务架构项目

什么是微服务?

相信了解过spring cloud的同学都知道,什么是微服务。我的理解是:微服务就是为了解决单体架构的应用产生的臃肿问题而存在的。

单体应用为何存在臃肿问题。

  1. 项目体量过大,代码臃肿,修改一个小地方,或者改动只有三四行代码,打包却要半个小时以上。
  2. 容错性太小,就web方面来说,某一句代码出现报错,整个页面都被阻塞,无法继续渲染。
  3. 开发协作困难,一个大型应用,会存在几十个,上百个人同时开发,应用的模块划分很难做到不同模块互相解耦,不同模块的代码不存在交叉影响。

前端微服务

我所理解的前端微服务,是针对页面展现层次来讲的,一个应用肯定是会存在多个模块的,我们要将不同模块的前端代码独立出来,能够在应用模块的层面进行封装、注册、复用

mess-cli: https://www.messcli.cn/

mess-cli是一个什么样的脚手架?

mess-cli是一个前端微服务项目架构的脚手架,它可以为你生成中心服务、基于react的子模块、基于vue的子模块 (其他的前端开发框架还未集成进去,例如:angular、web component等) mess-cli的灵感是来源于single-spasystemjs,这里非常感谢这两个框架的开发者,让我对前端微服务有了新的想法,因此诞生了mess-cli这个脚手架。
#使用mess-cli 首先请确保安装了mess-cli,运行npm install mess-cli -g

mess-cli提供了三个命令

  • mess init -- 初始化一个中心服务项目
  • mess add -- 添加一个子模块
  • mess bat -- 在windows系统上,生成运行、打包的bat文件

mess init

在命令行中执行mess init,并输入项目名称,耐心等待项目生成完毕。(创建的时候会下载github上的项目模板,请确保你的网络能够正常使用git clone下载github上的项目,必要时可修改host文件、添加代理、科学上网等)

mess init

mess add

建议在中心服务项目的同级根目录运行mess add react routeControl from center 或者 mess add vue routeControl from center,提供react、vue项目的模板,项目名称为routeControl,中心服务项目根目录文件夹名称叫center

add.bmp

我们也可以使用mess add react moduleA,来创建一个模块A,如果创建命令不带from 核心服务名称时,它将不会被注册进核心服务中,需要手动注册。 详情可参见mess-cli手动注册模块: https://www.messcli.cn//#/registerSubModule

mess bat

生成windows系统中,可执行bat文件,包含run.bat、build.bat,方便一键运行所有项目。~

更多详情请参考网址 mess-cli: https://www.messcli.cn/

本文由博客群发一文多发等运营工具平台 OpenWrite 发布