当前位置:   article > 正文

node.js 微信小程序 部署服务器_微信小程序云开发如何上手

微信云开发可以用node吗

891eef9766a22a356135a574a99bdd62.png

简要介绍

微信小程序云开发,是基于 Serverless 的一站式后端云服务,涵盖函数、数据库、存储、CDN等服务,免后端运维。基于云开发可以免鉴权调用微信所有开放能力。

前提准备

  • 微信开发者工具

创建环境

打开小程序项目,点击工具栏“云开发”进行开通:

04b69e7444f65f54fec041b56a69e69e.png

根据对话框提示,创建云环境:

e99da29fe5137b81df9dcb9a470a702b.png

选择默认免费配额:

57134a6f07e572dec4ecd0ec1ba1f342.png

“提交订单”,创建完成。

此后,就可以打开“云开发控制台”了:

e297401186753572263eb148fff24cbb.png

创建云函数

云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。

首先,配置小程序项目。编辑 project.config.json 添加 cloudfunctionRoot:

  1. {
  2. // ...
  3. "cloudfunctionRoot": "./cloudfunction/",
  4. "cloudfunctionTemplateRoot": "cloudfunctionTemplate"
  5. }

并于根目录新建该目录 cloudfunction ,该目录图标会变成“云目录图标”。

然后,右键云函数根目录,“新建 Node.js 云函数”:

9d9dcec291a315bc1c3fc5fb49a172a0.png

输入云函数名称,就会创建好模板:

1468291db79b3bb65a276c456c896dbb.png

使用云函数

编辑 index.js 修改成求和:

  1. // 云函数入口文件
  2. const cloud = require("wx-server-sdk");
  3. cloud.init();
  4. // 云函数入口函数
  5. exports.main = async (event, context) => {
  6. const wxContext = cloud.getWXContext();
  7. return {
  8. sum: event.a + event.b,
  9. };
  10. };
  • event 是触发云函数的事件。小程序端调用时,就是其请求参数。
  • return 返回云函数计算的结果。小程序端调用时,就是其响应内容。

Taro 调用云函数

Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发 微信/京东/百度/支付宝/字节跳动/QQ 小程序/H5 等应用。

快速创建小程序应用,可见 Taro3 快速开始。

Taro 使用云开发,首先需要初始化云环境:

  1. import Taro from "@tarojs/taro";
  2. Taro.cloud.init({
  3. env: "gocoding-xxx",
  4. });

其中 env 环境 ID ,可见“云开发控制台”的“设置”:

97b2bcdc1bae5bcd237339baea8f390a.png

然后,调用该云函数:

  1. Taro.cloud
  2. .callFunction({
  3. name: "photo-lucky",
  4. data: {
  5. a: 1,
  6. b: 2,
  7. },
  8. })
  9. .then((res) => {
  10. console.log(res);
  11. })
  12. .catch((err) => {
  13. console.log(err);
  14. });
  • name 是云函数的名称。
  • data 是请求参数,对应云函数的 event

部署云函数

右键云函数目录,选择“上传并部署”:

20c1e1974ac392780a33f685794c0dff.png

编译运行小程序,可见打印结果:

7dbf431378e546f2fdedd845f024bb4e.png

调试云函数

打开“云开发控制台”的“云函数”:

cc95fb825b38d281786034f15e3cdc31.png

打开“本地调试”,右侧选中“开启本地调试”:

50e1caf0c3f983a59219c377f82215e2.png

之后,小程序调用云函数就会进“本地调试”。

云开发服务

云函数模板中默认 requirewx-server-sdk,这是一个帮助我们在云函数中操作数据库、存储以及调用其他云函数的微信提供的库。关于 wx-server-sdk 的使用可见 在云函数中使用 wx-server-sdk 。

其他

云函数是 Node.js 应用,原想直接使用 TypeScript 开发并运行,可参考:

  • Node.js QuickStart: https://basarat.gitbook.io/typescript/nodejs

但其调试时默认主入口是 index.js,试了下配置,但没什么用。报错如下:

df0d6c28bd2ce2d8d744191cb8d6271f.png

所以,想用 TypeScript 的话,需要 tsc 编译发布出 js 后再调试。

参考

  • 云开发
  • Taro3 快速开始

结语

欢迎关注 GoCoding 公众号,分享日常 Coding 中实用的小技巧、小知识!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/147774
推荐阅读
相关标签
  

闽ICP备14008679号