【applet】toy版小程序微服务框架

144 阅读2分钟

要解决的问题

因为app比较重,所以这两年很多创业公司喜欢用小程序 但是如果公司产品多,就会出现很多交集,比如这个里边包含另外一个的内容 这时候就需要用到聚合管理了

一些前置知识

1.基座
微服务里边有个基座概念,他是给子项目加载的容器,里边可以预置一些路由逻辑,方便子程序的跳转,我准备了一个示例 qc-wx-main 2.子项目 子项目单独可以运行,也可以加载到基座上运行 准备了示例qc-wx-sub 3.微信原生的subpackages 小程序在app.json文件中通过配置subpackages和preloadRule可以创建子包

主体思路

1.首先把main基座给下载下来

这一步相对简单,在脚本中使用命令行工具就可以完成操作

2.再通过选择下载sub子程序,并对子程序做了一些处理

子程序里边因为本身有路由,但是加载到基座上路由又不一样,所以要有一个config.js文件,存放path信息,子程序路由跳转的时候,也把path代入进去,不过在子程序中它一般为空

3.将sub加载到main

将sub项目复制到main,将subpackges和preloadRule信息写入, 更改sub里边config.js的path信息,替换为main上supackages需要使用的路径 删除sub包里的不需要的东西,只剩下pages、utils、config就可以

注意事项

1.git管理 方法一:需要将子项目的文件地址加到主项目的.gitignore ,忽视子项目的更新 方法二:使用git的submodule聚合管理 2.sub加载到main上的时候,sub的config中的path也需要处理一下

实例

applet-cli

PS:刚写没多长时间,欢迎给pr