taro + 微信小程序云开发 (一)

近期疫情严重,想做一个实时的疫情动态小程序帮助大家了解疫情,想到是小工具前后端一起做,就用到了微信小程序的云开发,踩坑之路开始。。。

一 创建项目

使用技术

  1. node
  2. taro
// 全局安装taro脚手架
npm install -g @tarojs/cli
yarn global add @tarojs/cli
// 初始化一个taro项目
taro init myApp
// 重要:模板选择云开发模板  wxcloud
// 其它随意

项目内client文件夹为小程序客户端目录,cloud是云函数目录

二 启动项目

npm run dev:weapp

打开微信开发者工具开始预览(注意:这里项目根目录指向整个项目文件夹,而非client下生成的dist文件夹)
效果如下:
taro + 微信小程序云开发 (一)_第1张图片

遇到的坑

修改云函数不成功

  (1)检查云开发环境是否配置正确
  (2)云函数index文件必须为.js结尾 (因为选择taro模板时,询问是否使用TypeScript时选择了Y,所以云函数内的js文件后缀变ts了, 而小程序云函数检测只能是js文件[此规则为本文编辑时当前版本测试得出2020-2-26日])
  (3)每次编辑云函数后请确认已同步云函数
  (4)右键云函数选择上传并同步(云端安装依赖或所有文件)

云函数初始化云环境

在入口文件中找到初始云函数的地方修改云开发环境id
如图:
taro + 微信小程序云开发 (一)_第2张图片

报错解析

报错: Error: 更新云函数失败:No Match Module:Get lambda file failed

taro + 微信小程序云开发 (一)_第3张图片
参考上文 “修改云函数不成功” 第(2)条

报错: errorCode: -404011 cloud function execution error | errMsg: cloud.callFunction:fail requestId …
Error:connect ECONNREFUSED 127.0.0.1:80
taro + 微信小程序云开发 (一)_第4张图片
此错误是在使用axios请求时报错,后发现与taro和小程序无关,是axios请求错误,并且在云函数使用try 、catch 都未能阻止,发生类似错误,请检查代码是否符合规范与包的使用是否正确

报错: 文件名、目录名或卷标语法不正确
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command
taro + 微信小程序云开发 (一)_第5张图片
此问题是手误造成,在根目录执行了个命令:

yarn global add @tarojs/cli

然后项目怎么都跑不起了,查资料说的是链接被重置? 可能有其它操作也会造成此错误吧
解决:再执行一次全局删除:

yarn global remove @tarojs/cli

你可能感兴趣的:(Taro)