微信小程序云开发多个云函数共享依赖库解决方案之一
目录
微信小程序云开发多个云函数共享依赖库解决方案之一
小程序云函数开发时,每个函数单独部署,当引入共享依赖(如引用 ../../common/util.js )时,部署的时候IDE并不会帮你上传相关文件,只会上传本函数文件夹下的文件。
搜了一下看到这个帖子: 啊哈哈,3年了并未解决。
我尝试使用了 git submodule 来解决,在操作复杂程度上还可以接受吧。高端操作可以去尝试打包 npm 包,哈哈。
前提:小程序项目已经使用 git 来管理了,没使用的得初始化一下。
下面为操作与测试过程
我使用的是微信的代码托管
1、为共享的依赖库新建一个 git 项目,并增加一些内容。
我新建的仓为 :taills/wx-cloud-functions-common.git
内有测试文件 util.js,文件内容如下:
function add(a,b){
return a + b
}
function getTimestamp(){
return (new Date()).getTime()
}
module.exports = {
add : add,
getTimestamp: getTimestamp
}
2、在小程序中新建 2 个云函数,我新建的云函数为 orderAdmin 、 userCenter ,如图:
3、为两个函数增加 git module ,云函数多可自己重复以下操作即可。
git submodule add git@git.weixin.qq.com:taills/wx-cloud-functions-common.git cloudfunctions/userCenter/common
git submodule add git@git.weixin.qq.com:taills/wx-cloud-functions-common.git cloudfunctions/orderAdmin/common
4、保存更改。
git add .
git commit -am 'add cloud functions'
5、修改 wx-cloud-functions-common.git 项目内容并push,如增加 readme 等等,做为测试。
6、更新小程序所有云函数下的公共函数库,结果如图
git submodule foreach git pull
7、这样操作之后,公共依赖库就可以统一管理了。
当某个云函数下 common 有更改了,把它 commit & push 后,执行第6步操作,就可以把更改同步到其他云函数当中,也可以多人、多项目公用。
8、函数调用测试。
9、小程序代码仓库显示为
小程序的仓库本身并不存储 公共依赖库的文件,只存储了一个链接。当 clone 小程序代码后,需要执行第 6 步,把 submodule 都拉下来。