云函数是小程序的一个特性,为小程序提供了一个简单的后端,对于纯前端开发是个不错的选择。
uniapp开发云函数
-
在uniapp工程根目录创建cloudfunctions目录
image.png
-
定义云函数路径
在manifest.json
文件中添加云函数路径
image.png"cloudfunctionRoot": "./cloudfunctions/"
-
function文件夹下创建一个名为phone的云函数 其中三个文件如下
image.png
config.json:
{
"permissions": {
"openapi": [
]
}
}
index.js:
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
const wxContext = cloud.getWXContext()
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
}
}
package.json:
{
"name": "check",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "latest"
}
}
- 此外项目根目录创建一个vue.config.js
const path = require('path')
const CopyWebpackPlugin = require('copy-webpack-plugin')
module.exports = {
configureWebpack: {
plugins: [
new CopyWebpackPlugin([
{
from: path.join(__dirname, 'cloudfunctions'),
to: path.join(__dirname, 'unpackage/dist', process.env.NODE_ENV === 'production' ? 'build' : 'dev', process.env.UNI_PLATFORM, 'cloudfunctions')
}
])
]
}
}
- 启动项目时需要安装依赖包,注意依赖包版本兼容,使用最新版本有问题。
{
"name": "check",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
},
"devDependencies": {
"webpack": "^4.44.2",
"copy-webpack-plugin": "^5.1.2"
}
}
安装依赖包后启动项目即可打开微信开发者工具
然后可以在云函数中上右击,选择上传并部署云函数。
注意:这里上传云函数可能失败。
解决:关闭微信工具并重开,再次上传即可。
个人建议,若要开发云函数,最好直接在小程序中开发,在uniapp中开发不仅麻烦且其它平台不通用。
网友评论