html52.com
我爱小程序-开发者交流社区

在小程序中使用axios

在vue的生态里ajax写习惯了用axios,切换到小程序里发现又要去找新的轮子学习并使用?

不想那么麻烦的,来试试axios-miniprogram-adapter这个库吧,带给你web中一样的体验

g.shields.io/npm/v/axios-miniprogram-adapter.svg" alt="Version"></a>




<a href="https://www.npmjs.com/package/axios-miniprogram-adapter"><im <a href="https://www.npmjs.com/package/axios-miniprogram-adapter"><img src="https://img.shields.io/npm/v/axios-miniprogram-adapter.svg" alt="Version"></a> mg.shields.io/npm/v/axios-miniprogram-adapter.svg" alt="Version"></a>

axios的小程序适配器,支持在各个平台小程序中使用axios

:star: 特性

  • 支持微信、支付宝、钉钉、百度小程序,放心使用axios,最大限度复用web端axios的代码
  • 支持TypeScript

<table> <tbody> <tr> <td align="center" valign="middle"> <a href="https://developers.weixin.qq.com/miniprogram/dev/api/wx.request.html" target="_blank"> <img src="./doc/wechat.png" alt="微信小程序" width="60"> <div>微信小程序</div> </a> </td> <td align="center" valign="middle"> <a href="https://docs.alipay.com/mini/api/network" target="_blank"> <img src="./doc/alipay.png" alt="支付宝小程序" width="60"> <div>支付宝小程序</div> </a> </td> <td align="center" valign="middle"> <a href="https://docs.alipay.com/mini/multi-platform/common" target="_blank"> <img src="./doc/dingding.png" alt="钉钉小程序" width="60"> <div>钉钉小程序</div> </a> </td> <td align="center" valign="middle"> <a href="https://smartprogram.baidu.com/docs/develop/api/net_request/#request/" target="_blank"> <img src="./doc/baidu.png" alt="百度小程序" width="60"> <div>百度小程序</div> </a> </td> </tr> </tbody> </table>

:open_file_folder: 目录介绍

.
├── demo 使用demo
├── dist 编译产出代码
├── doc 项目文档
├── src 源代码目录
├── test 单元测试
├── CHANGELOG.md 变更日志
└── TODO.md 计划功能

:rocket: 使用者指南

1.如果你是webpack等环境

通过npm下载安装代码

$ npm i axios axios-miniprogram-adapter
import axios from 'axios'
import mpAdapter from 'axios-miniprogram-adapter'
axios.defaults.adapter = mpAdapter

2.如果你没有使用任何脚手架工具

直接使用小程序开发工具自带的构建npm,请按下面几个步骤引入:

  • 确保项目目录下有package.json文件,已有的跳过这一步
$ npm init
  • 安装
$ npm i axios axios-miniprogram-adapter
  • 在小程序开发者工具中依次找到并点击工具->构建npm,构建完成后你的项目目录会多出一个miniprogram_npm目录

  • 代码引入使用

import axios from 'axios'
import mpAdapter from 'axios-miniprogram-adapter'
axios.defaults.adapter = mpAdapter

这里有一个代码片段demo可直接供你使用:https://developers.weixin.qq.com/s/oIqQtBml7F4N,DEMO源码点这里也可查看

3.如果你没有使用任何脚手架工具且npm也不用(不推荐)

直接拷贝编译后的axiosaxios-miniprogram-adapter到项目中:

import axios from '你的目录/axios.js'
import mpAdapter from '你的目录/axios-miniprogram-adapter.js'
axios.defaults.adapter = mpAdapter

三种方式区别

小程序自带的npm不支持解析node_modules中的库再有外部依赖:例如本库中依赖了axios库的某些工具包,在源码中有下面的代码:

import utils from 'axios/lib/utils'

在小程序开发工具中会报错,找不到此依赖。为此,我将依赖打包到一起,这样带来的问题是库的体积多了2kb,基于此,强烈推荐你使用类似于webpack的脚手架工具开发

:bookmark_tabs: 文档

:chestnut: Demo

打开小程序开发者工具,根据不同平台,选择各自的目录作为项目根目录:

  • 微信axios-miniprogram-adapter/demo/miniprograme-example/dist-wechat
  • 支付宝、钉钉axios-miniprogram-adapter/demo/miniprograme-example/dist-alipay
  • 百度 axios-miniprogram-adapter/demo/miniprograme-example/dist-swan

该demo示范了几个常用功能的用法:

<image srC="./doc/example.png" width="300">

点击查看代码具体用法示例

:gear: 更新日志

CHANGELOG.md

:airplane: 计划列表

TODO.md

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

真正的个人免签约支付接口

云免签H5支付