搞小程序也有两周了,踩了很多坑,有些问题很难搜索到,在这里记录一下问题和自己的解决方案,希望能帮助到需要的小伙伴~
1. 真机调试报错:Error: module '@babel/runtime/helpers/Arrayincludes.js' is not defined
- 真机调试模式从 2.0 切换为 1.0 即可解决
- 要将【转换为 ES5】勾选掉,因为 Taro 通过 webpack 已经将代码编译为 ES5。
2. Taro 中如何使用 weui?
javascript
// app.config.ts
useExtendedLib: { weui: true, },
usingComponents: { 'mp-badge': 'weui-miniprogram/badge/badge'...},
3. Taro 动态设置当前页面的标题
Taro.setNavigationBarTitle(option)
- 文档:https://docs.taro.zone/docs/apis/ui/navigation-bar/setNavigationBarTitle
4. app.js错误: Error: module 'common.js' is not defined, require args is './common'
- 偶现,可以先重启 webpack
5. 小程序样式不生效,tailwind 伪类不生效(hover)
- 因为 标签要单独配置 hoverClass
- 文档:https://docs.taro.zone/docs/components/viewContainer/view
6. Error: module 'vendors.js' is not defined
- 删掉 node_modules 重装
7. fail api scope is not declared in the privacy agreement
8. taro 中配置的 global.d.ts 引入方式不能使用 import,否则因为在头部引用会导致整个 ts 配置文件失效!
- 正确引入方式:
/// <reference types="@tarojs/taro" />
。因为在头部错误使用 import 引入类型,导致 declare module '*.png' 不生效
9. object-fit 在小程序中不生效
- 内置了字段可以配置,参考:https://docs.taro.zone/docs/components/media/image
10. Taro 引入 weui <mp-dialog>
其中bindbuttontap
按钮点击事件不生效
- 需要将
bindbuttontap
改成onButtontap
11. uploadFile:fail createUploadTask:fail url not in domain list
可能有如下原因:
- uploadFile 合法域名未配置或配置错误
- 或者是 url 写错(仔细检查一下,我这边就是 url 传错了,忘记添加 baseurl,因为和 get 与 post一起封装的,但是options没有共用)
12. Taro 如何实现手势放缩图片
- 注意需要配置 scale 才支持放缩
tsx
<MovableArea style='height: 200px; width: 200px; background: red;'>
<MovableView style='height: 50px; width: 50px; background: blue;' direction='all' scale ></MovableView>
</MovableArea>
13. 小程序使用 <mp-dialog>
时弹窗被键盘遮住
- 配置 input 组件
cursor-spacing
参数,可以指定光标与键盘的距离