更新记录
0.0.1(2020-08-24) 下载此版本
- 初始化项目
平台兼容性
阿里云 | 腾讯云 | 支付宝云 |
---|---|---|
√ | √ | × |
云函数类插件通用教程
使用云函数类插件的前提是:使用HBuilderX 2.9+
简介
本项目主要为解决以下两个问题:
- 腾讯云只能创建一个服务空间无法切换正式测试环境
- 上传公用模块太大经常失败
目录说明
|-cloudfunctions-aliyun 云函数目录
|-cloudfunctions-dev 云函数开发目录
|-src 云函数源码目录
|-api 云函数目录,下面每个目录(除common目录外)对应一个云函数(可以直接把之前项目的云函数拷贝到此目录)
用法
npm run init // 自动安装全部云函数的依赖,如果此操作执行失败可能需要手动删除云函数目录里面的node_modules再进行安装
npm run dev // dev模式打包云函数
npm run build // 生产模式打包云函数
// 上述命令均可以在后面添加云函数名表示只处理某个云函数
// 比如 npm run build search 表示只打包search云函数
- 在
cloudfunctions-dev
执行npm install
或者yarn
安装依赖 - 在
cloudfunctions-dev/script/config.js
内配置必要参数,参数说明如下{ cloudfunctionsPath: '../../cloudfunctions-aliyun', // 输出云函数目录 functionPrefix: 'test-', // dev时云函数前缀 collectionPrefix: 'test-', // dev时集合前缀 watchFilesWhileDev: false // 是否监听文件变化,自动编译 }
- 在
cloudfunctions-dev/src/api
目录内写云函数(可以直接将之前项目的cloudfunctions目录内的文件夹放在此目录) - 在
cloudfunctions-dev
执行npm run dev
或者npm run build
打包云函数 - 在
main.js
内自行切换客户端环境,比如以下代码const env = 'dev' Vue.prototype.$callFunction = function (params) { if (env === 'dev') { params.name = 'test-' + params.name } return uniCloud.callFunction(params) }
注意事项
-
无法处理动态模块名的require,比如
const moduleName = true ? 'add' : 'minus' const method = require(moduleName)
-
可以将
cloudfunctions-dev
目录重命名为cloudfunctions-aliyun
或者cloudfunctions-tcb
以便更好的使用语法提示