微信小程序|Taro 跨平台开发差异处理

微信小程序|Taro 跨平台开发差异处理

由于各平台的差异性 , 特殊情况下无法做到一套代码 , 处处运行 , 此时我们需要做一些差异化需求 。
废话不多说 , 直接上干货
方式一:定义变量引入
//之前引入

import api from '../../utils/api'

// 差异化时 , 我们可以根据不同的平台 , 引入不同的 API

let api

if (process.env.TARO_ENV === 'weapp') {

api = require('../../utils/api-weapp')

else if (process.env.TARO_ENV === 'h5') {

api = require('../../utils/api-h5')



方式二:统一接口的多端文件

import api from '../../utils/api'

// 目录文件

└── utils

├── api.h5.js// h5

├── api.weapp.js// 微信小程序

└── index.js

此处列举不同端后缀

假如有一个 Test 组件存在微信小程序、百度小程序和 H5 三个不同版本 , 那么就可以像如下组织代码

test.js 文件 , 这是 Test 组件默认的形式 , 编译到微信小程序、百度小程序和 H5 三端之外的端使用的版本

test.h5.js 文件 , 这是 Test 组件的 H5 版本

test.weapp.js 文件 , 这是 Test 组件的 微信小程序 版本

test.swan.js 文件 , 这是 Test 组件的 百度小程序 版本

test.qq.js 文件 , 这是 Test 组件的 QQ 小程序 版本

test.quickapp.js 文件 , 这是 Test 组件的 快应用 版本

四个文件 , 对外暴露的是统一的接口 , 它们接受一致的参数 , 只是内部有针对各自平台的代码实现

而我们使用 Test 组件的时候 , 引用的方式依然和之前保持一致 , import 的是不带端类型的文件名 , 在编译的时候会自动识别并添加端类型后缀

import Test from '../../components/test'

喜欢的同学关注+收藏

【微信小程序|Taro 跨平台开发差异处理】


    推荐阅读