踩坑--- 基于钉钉的Weex微应用开发起手式(其实写完发现变成Weex相关资料汇总了)

好吧,我知道你来看这个文章,必定是遇到坑了,因此,把这几个放在最开始吧

如今,若是你的团队的技术栈是react,请尝试这个吧,跟react很像,若是你的团队一直使用react,这是一个更好的选择Rax · 跨容器的渲染引擎

Vue问题,你能够在Vue官方提交issues, 【地址】 。
Weex问题,你能够在中文讨论板块提交问题, 【地址】 。
Weex官方github提issues地址 Weex的Issues
weex支持有限的Style,页面的布局使用Flex,建议仔细阅读: Weex 组件支持的通用样式规则
weex的上层业务框架有三层:vue2.0,rax,we,若是你用vue2.0来编写上层业务,建议仔细阅读: Vue 2.x 在 Weex 和 Web 中的差别 和  Vue 官方文档
内建组件和内建模块基本上是你开发Weex应用的基础,建议仔细阅读: 内建模块 和  内建组件
weex debug 的使用方式,建议仔细阅读: weex dev tool 的使用

经常使用社区与资源

至关于阿里的weex官方UI库 Weex Ui 官网

Weex + Ui - Weex Conf 2018

饿了么前端关于Weex的知乎专栏
超级全的Weex大集合,大礼包,千万不要错过
听说来着阿里的同窗的 多是史上最全的weex踩坑攻略
3个比较活跃的Weex开发QQ群 327169027 112304356 140596030
能够借鉴的Demo weex-eleme
Weex学院
Weex中文社区
一个weex的UI组件库
一个weex答题牛人,荔枝我大哥
Weex的github地址
作app的推荐使用远方的狼的脚手架,作了不少优化,极力推荐使用 远方的狼的脚手架项目地址:
iOS的同窗能够看看这个 iOS开发者的Weex伪最佳实践指北
Weex项目实战及踩坑记录
weex-eros 是基于 [weex 封装面向前端的 Vue2 写法的解决方案]( https://www.gitbook.com/book/...

首先,你确定想知道Weex是个什么玩意

来给你甩个连接,来看看官方如何解释weex是个啥Weex官方地址
具体的搭建环境什么的里面都有,能够直接阅读官方文档,可是官方文档有坑,请酌情阅读html

有如下知识须要注意

  1. Weex如今支持用Vue2.0语法进行开发,因此你如今须要先具有必定的Vue基础,关于Vue的相关知识,请参考Vue官方文档,Weex官方说是Vue的全家桶都可以使用,可是在实际开发过程当中,咱们团队仍是遇到了必定的问题,3端表现并不一致,请斟酌使用。若是你有原生开发经验,那就太好了。前端

    很是重要,必定要仔细阅读 Vue 2.x 在 Weex 和 Web 中的差别
  2. 在样式上,Weex对CSS的支持不是特别完善
Weex不支持CSS的简写,全部相似margin: 0 0 10px 10px的都是不支持的
不论是Web仍是Weex你的设计应该基于750px来绘制界面,Weex框架层面会帮你自动计算和适配。
  1. 调试
若是你对Native比较熟悉能够直接编一下weex开源的项目,若是实在搞不明白的话,你能够去各大应用市场里下载 weex playground 这个App,而后用weex debug src/weex-bootstrap.we 来开启调试界面。
若是你只想查看一下在Native端的渲染,用weex playground这个App扫描一下第二个二维码便可。
若是你须要调试,依然是用weex playground这个App先扫描第一个二维码,此时会出现第二个节目,而后再扫描下方,你本身页面的二维码来渲染。
调试分为两个部分Debugger和Inspector,若是你选择Debugger,那么你能够在source里看到你写的文件,来断点之类的。若是你选择后者,那么你能够在element面板里查看元素。
重要的事情再说一遍:(要用weex playground扫二维码)。

推荐阅读 前人留下的印迹


  • 关于字体图标的解决办法,字体图标须要处理后才能正常使用 字体图标的Bug

<text :style="{fontFamily:'iconfont',color:'red',fontSize:'40px'}">{{getFontName}}</text>
<script>
`var he = require('he');vue

module.exports = {
data: function () {`
    return {
      fontName: '',
    }
`},`
`computed: {`
    getFontName: function() {
        return he.decode(this.fontName)
    }
`}`

}
</script>react


连载教程进击的weex 第二发 weex的各类坑git




  • 强烈推荐的钉钉封的一个js库,很是好用,这个库存在的意义是提供一些便捷的Utility函数,这些Utility函数将抹平Web Weex之间的一些差别,提供统一的接口,让用户使用,目前实现了7个模块可供使用。抹平差别的Utility库




  • 我是从这个Demo上手的,基于Vue2.0 强烈推荐,强烈推荐,强烈推荐 ,Android可直接打包为apk,无须配置一个老外写的todo-list Demo

通往星辰大海的路上的坑(下面想起什么记录什么,无序排列,持续更新)


  • 关于fetch(options, callback[,progressCallback])发起网络请求中有关Timeout的问题

当你在请求数据时,可能会发现官方的文档里没有设置 timeout 这个属性,官方大概把这个属性值设置为了3秒,在弱网状况下,这个值是不够的。通过研究,其实,你能够大胆使用,以下:github

stream.fetch({
    method: 'GET',
    type: 'json',
    url: 'https://api.github.com/repos/' + repo,
    timeout:6000  //单位为ms
}, callback)

  • 使用Weex中的refresh,loading上拉与下拉刷新,3端体验不一致,Android上拉下拉都没问题,iOS都不行

缘由是由于在iOS 上因为 Scroller 的contentSize 小于scroller 自己高度因此致使不能滑动,因此须要设置你想滑动的内容或容器高度
(建议同loadmore事件替换loading组件,loading的问题有点多,即便你的content足够长,高度大于屏幕高度,多拽几回也有可能出现加载中...状况收不下去的)web


  • 目前图片不支持使用本地图片,而且不支持gif格式,若是须要相似loading的动图,能够尝试使用动画实现


Tips: transform: 'rotateZ(360deg)', 其中你旋转的角度每次动画事后都是保存了的,并无归0,也就是说你第一次是从0度转到360度,之后(你的每600ms)都是从360度到360度。apache


  • 文字展示必须使用<text>标签


  • 关于Android端的点透事件

须要在上层视图上加上@click.stop,若是上层视图有事件,多加一个中间层,把@click.stop加在空事件视图上json


  • 关于Page 事件

注意:仅支持 iOS 和 Android,H5 暂不支持。
Weex 经过 viewappear和 viewdisappear事件提供了简单的页面状态管理能力。
viewappear 事件会在页面就要显示或配置的任何页面动画被执行前触发,例如,当调用 navigator模块的 push方法时,该事件将会在打开新页面时被触发。viewdisappear事件会在页面就要关闭时被触发。必须绑定到页面的根元素上。
(咱们遇到的坑是在Playground中这两个事件都可以触发,可是iOS和Android的触发时间好像有微小的差别,可是这个事件在钉钉客户端中,Android上表现无缺,iOS端没法触发,缘由 不明,可是在钉钉中的解决办法以下)
页面resume事件
当页面从新可见并能够交互的时候,钉钉客户端会触发这个事件。bootstrap

import dingtalk from 'weex-dingtalk';
dingtalk.ready(function(){
    dingtalk.on('resume',function(){
        // do something
    })
});

页面pause事件
当页面不可见时,钉钉客户端会触发这个事件。

import dingtalk from 'weex-dingtalk';
dingtalk.ready(function(){
   dingtalk.on('pause',function(){
       // do something
   })
});

以上所有资源来自互联网搜集,欢迎转发分享,但愿Weex能愈来愈好。

相关文章
相关标签/搜索