多端开发
跨平台开发
在某些情况下,不同平台的表现或业务逻辑有质的不同。在这样的情况下我们是没有办法做到「一套代码走天下」的。
例如我们正在实现 V2EX 论坛应用,当前的 API 没有办法在浏览器中跨域调用,因此我们需要在 H5 端使用另一份 API。我们可以通过内置环境变量来解决:
- 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')
+ }
Taro 还提供了统一接口的多端文件,通过不同的命名方式寻找依赖,在这类情况下,我们可以保留:
import api from '../../utils/api'
语句原封不动,修改我们的文件结构,在文件名和后缀名之间加上平台的名字:
.
└── utils
├── api.h5.js
├── api.weapp.js
└── index.js