taro各种平台打包方法和bug修复(持续更新)

一、bug修复

1、@tarojs/components@1.2.7 requires a peer of @types/react@^16.4.6 but none is installed. You must install peer dependencies yourself.

解决办法:手动执行 npm install  @types/react@^16.4.6

2、Uncaught TypeError: (0 , _router.createHistory) is not a function

at eval (app.js?d0a8:25)

 at Object../.temp/app.js (app.js:915)

方法一:通过点击文件,在webstrom中搜索到该文件app.js

删除掉保存的方法和调用的view

方法二:

taro update project 

npm install 

方法三:重新下载router

3、onClick方法被频繁调用,不停给服务器发请求 

解决办法:https://github.com/NervJS/taro/issues/2738

this.openDoor =this.openDoor.bind(this);

onClick={this.openDoor.bind(this,item)}

4、 Cannot read property 'slice' of undefined

错误是由于数组对象未定义或为null 引起的,所以查看获取数据的接口是否请求到了数据。

此外(重点),对于一些能直接与后台数据库交互的框架,如KendoUI,它要求前端渲染页面时的数据模型要与后台的数据模型(包括字段名称)一致,所以如果请求到了数据还是提示此错,则检查前后端数据模型的字段命名是否相同。

5、

effects: {

*asyncList({}, {call, put}) {

let token = Taro.getStorageSync('auth');

let {code,page} =yield call(request, {

url:config.host.api +'/sys/record/list',

method:'GET',

header: {

Authorization:`Bearer ${token}`,

"content-type":"application/json",

"cache-control":"no-cache",

},

});

if (code ===0) {

yield put({

type:'list',

payload:page

      })

}

}

这个方法没有调用,即前端没有发送请求给后端,webstrom会提示 export default未使用,多半是因为没有注册

需要在index.js中注册

import videoMonitor from "./videoMonitor";

export default [ auth, utils, visitor, help, mine, community, door,videoMonitor]

6、H5打包发布后报错lib_library未定义

taro update self

更新项目中 Taro 相关的依赖   $   taro update project 

npm install

7、后端返回了数据而前端没有接受到时

let {code, page} = yield call(request, {}

let {code, data} = yield call(request, {}

请根据后端返回的字段进行命名,然后用该字段接受数据

8、componentDidUpdate防止页面过度刷新

如果你在 componentDidMount 里面 setState 导致组件更新,组件更新后会执行 componentDidUpdate,此时你又在 componentDidUpdate 里面 setState 又会导致组件更新,造成成死循环了,如果要避免死循环,需要谨慎的在 componentDidUpdate 里面使用 setState

9、浏览器报错:TypeError: Super expression must either be null or a function

这是github相关解决办法:https://github.com/NervJS/taro/issues/2704

我的解决办法是:更新taro-ui,

npm i taro-ui

然后首先找到node_modules/taro-ui/dist/h5/文件夹

将以下的路径对应文件夹中文件的路径进行修改,修改后部分样式会改变

官网的引用方法:https://taro-ui.aotu.io/#/docs/quickstart

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

require('taro-ui/dist/weapp/css/index.css')

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

require('taro-ui/dist/h5/style/mixins/index.scss')

}

二、每个平台的编译打包方式

微信小程序

选择微信小程序模式,需要自行下载并打开微信开发者工具,然后选择项目根目录进行预览。

微信小程序编译预览及打包

# npm script

$ npm run dev:weapp

$ npm run build:weapp

H5

H5 模式,无需特定的开发者工具,在执行完下述命令之后即可通过浏览器进行预览

H5 编译预览及打包

# npm script

$ npm run dev:h5

npm run build:h5 -- --watch

taro build --type h5 "--watch"

React Native

React Native 端运行需执行如下命令,React Native 端相关的运行说明请参见 React Native 教程

# npm script

$ npm run dev:rn

百度小程序

选择百度小程序模式,需要自行下载并打开百度开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。

百度小程序编译预览及打包

# npm script

$ npm run dev:swan

$ npm run build:swan

支付宝小程序

选择支付宝小程序模式,需要自行下载并打开支付宝小程序开发者工具,然后在项目编译完后选择项目根目录下 dist 目录进行预览。

支付宝小程序编译预览及打包

# npm script

$ npm run dev:alipay

$ npm run build:alipay

三、方法

1、快速删除node_modules目录的方法

cnpm install rimraf -g

  rimraf node_modules

2、发送请求

// 发送请求 request(){

const params ={ url: "https://www.baidu.com/", data: {}, method: "POST", success: (data) => {console.log(data)}, fail: (data) => {console.log(data)} }; Taro.request(params)

}

3、跳转

// 跳转页面

toPage() {

if (Taro.getEnv() == Taro.ENV_TYPE.WEB) { Taro.navigateTo({ url: '/pages/test1/index', }) }

else { Taro.switchTab({ url: '/pages/test1/index', }) } }

4、值为 true 的属性可以省略书写值

<Hello personal/>  <Hello personal={false}/>

四、项目

1、taro-ui

bug修复:自定义选项:清楚位置信息并退出和取消没反应

表单:话h5端没有picker选择器和滚动选择器 

布局:h5端部分图片无法加载

大多数功能h5端和微信小程序没有同步

修复后的项目已提交至GitHub:https://github.com/JackonLiu/taroUI

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容