Taro与小程序云开发结合:快速构建日语用例助手的入门指南

2025-03-21
来源:网络整理

前言

迷你计划开放了云开发功能,使开发人员能够快速构建迷你计划后端服务。作为不太忙于新技术的前端,我也对此非常感兴趣。

塔罗(Taro)是一种基于凹入和凸实验室启动的语法规范的多端开发解决方案。与Wepy相比,它很年轻并且有更多的陷阱,但它非常适合倾向于使用像我这样的发展的人。

我将这两个使用并爬上了用例。JP并开发了“日本用例助理”。

坑1。云开发第1.1章环境构建

可以通过以下两种方式创建云开发:1。使用(云开发快速启动模板)创建一个项目:

此方法将创建一个小程序基本模板,名为“云开发调用样本”和目录中名为“云功能”的目录,然后启动一个全新的项目。

2。根据现有小问题使用云开发:

  1. 在小程序目录下创建一个文件夹作为你的云函数目录,然后在project.config.json 文件中新增字段"cloudfunctionRoot": "你的云函数目录",即可以在微信开发者工具中看到目录的图标变成了云,在此目录下创建云函数即可;

1.2云功能写作

当使用微信开发人员工具在云功能目录中创建云函数时,将基于名称创建一个目录,其中包含一个.js和.json。

在中,使用以下方法调用云功能:

  1. wx.cloud.callFunction({

  2. name: '云函数名称',

  3. data: {

  4. key1: 'value1',

  5. key2: 'value2'

  6. }

  7. }).then((res) => {

  8. console.log(res);

  9. }).catch((e) => {

  10. console.log(e);

  11. });

.js的输入功能如下:

云开发小程序实例_小程序云开发使用方法介绍_小程序云开发资源是什么

  1. //云函数入口函数

  2. exports.main = async (event, context) => {

  3. // 参数获取在event 中获取,如使用上面的调用函数后,获取data使用 event.key1、event.key2即可

  4. const { key1, key2 } = event;

  5. return { query: { key1, key2 } }

  6. }

每个云功能都可以视为单独的服务。如果您需要安装第三方依赖项,则只需要右键单击目录,选择“终端”和NPM依赖项。

应该注意的是,每个云功能都是独立的,并且所需的依赖项需要在相应的目录中为NPM,但这将使项目非常大且毫无意义。因此,接下来我将介绍TCB-。

1.3使用TCB-路由

TCB-是一个基于KOA样式云开发云功能轻量级路由库的迷你程序,主要用于优化服务器端功能处理逻辑。

使用TCB-的方法很简单:

  1. const TcbRouter = require('tcb-router');

  2. exports.main = (event, context) => {

  3. const app = new TcbRouter({ event });

  4. app.router('路由名称', async (ctx) => {

  5. //原有的event需要通过ctx._req.event 获取

  6. const { param1, param2 } = ctx._req.event;

  7. ctx.body = { key1: value1 };

  8. });

  9. })

目前,小程序的调用方法还需要更改为:

  1. wx.cloud.callFunction({

  2. name: '云函数名称',

  3. data: {

  4. $url: '路由名称',

  5. // 其他数据

  6. param1: 'test1',

  7. param2: 'test2'

  8. },

  9. success: res => {},

  10. fail: err => {

  11. console.error(`[云函数] [${action}] 调用失败`, err)

  12. }

  13. })

2. Taro第2.1章环境建设

  1. npm install -g @tarojs/cli

  2. taro init myApp

2.2遇到的陷阱1。API支持不足

由于塔罗不支持微信上的某些新API,例如使用WX。当使用云开发时,芋头不支持它,但是亲自测试您可以直接使用WX变量,但会提醒它,这是非常不愉快的。您可以将以下代码添加到。文件:

  1. "globals": {

  2. "wx": true

  3. },

小程序云开发资源是什么_小程序云开发使用方法介绍_云开发小程序实例

2。无法使用#map以外的方法来操纵JSX数组。

3。不允许在JSX ()中传递JSX元素(TARO/NO-JSX-IN-)。

3。爬行者第3.1章

这是一个非常实用的HTTP请求模块,它对于爬网页非常有用,并且也非常易于使用。以下是我在爬行.jp时使用的代码:

  1. // const superagent = require('superagent');

  2. // ...

  3. function crawler(url, cb) {

  4. return new Promise((resolve, reject) => {

  5. superagent.get(url).set({

  6. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36'

  7. }).end(function (err, res) {

  8. if (err) {

  9. reject(err);

  10. return;

  11. }

  12. resolve(res);

  13. });

  14. });

  15. }

3.2

它是一种轻巧,灵活的基于类的工具,用于分析HTML元素。在爬一些末端渲染页面和一些简单的小页面时,它非常有用和有效。

抓取网页内容后,您可以以以下方式解析页面代码:

  1. // const cheerio = require('cheerio');

  2. // ...

  3. const result = crawler(apiUrl).then((res) => {

  4. // 使用load 之后,$ 即可同jquery 一样使用选择器来选择元素了

  5. const $ = cheerio.load(res.text);

  6. const categories = [];

  7. $('[data-toggle]').each((i, ele) => {

  8. // 可以使用.text()、.html() 等方式获取元素的内容

  9. categories.push($(ele).attr('href'));

  10. });

  11. return {

  12. list: categories,

  13. };

  14. });

摘要1。芋头

如果您是开发人员,需要开发多端小程序,或者原始项目希望被移至小程序,那么塔罗是一个不错的选择,但是仍然有许多陷阱尚未填补。我希望它会越来越好。

2。云发展

如果您是个人开发人员,并且想尝试MINI 开发,但不想自己构建服务器,云开发是一个不错的选择,易于使用且非常敏捷。

分享