使用wex5得到的一些教训

  博主一直都是做web开发,前段时间有个小想法,想给自己做个android小应用(很小,功能特别简单)。

了解到可以用js直接做,貌似很简单,选用了wex5(基于codova插件)来直接开发。

  最终发现比直接用java踩到的坑还多,这里总结下:

1、在w文件中写的css会被做加工,可能产生问题。

  我在里面写了个h5动画效果,单独代码抽出来可以使用,放到wex5中就是不能生效,百思不得其解,我一直以为是哪里写错,或者和哪个效果产生冲突,想了两个晚上,还是没思路。把页面源码抓出来发给朋友帮忙看,朋友一下子就说明问题所在“某某地方应该要有px单位”。当真没想到,竟然是被编译软件去除掉的,我完全不敢设想是编译软件问题,还一直在寻找自己写的代码中的错误。

解决方法:把css写在单独的css文件里面(不和w文件同名),然后用资源引入,例如:<require xid="require1" url="css!$UI/xiangmu/animation"></require>

2、跨域问题。

  wex5的页面,在调试的时候都是指向例如127.0.0.1:8080域名,而自己使用的后端服务域名假设为example.com,ajax访问是需要跨域的,我以为这都是前提,不能修改。于是做了很多工作来解决跨域问题:

    I、服务端添加允许跨域访问的头(为了跟web比较像,放弃使用jsonp形式);

    II、返回sessionId(跨域访问,cookie带不过来,使用ajax返回头读不到);

    III、修改express-session中间件,使能直接query传递sessionID(这是express-session的一个坑,cookie带了加密,而我又不能直接读到cookie结果,所以只能修改它,这个方法很糟糕,很丑)

  整个开发过程,让人很难受,浪费很多时间,方法却依然如此丑。

解决办法:看了wex5文档里面,建议ajax请求使用插件带的request请求方法,就无需跨域(还是那么丑)

    我目前选择使用的是修改调试域名,直接使用自己的example.com域名,然后服务端对应wex5页面的更新请求全部使用304(not modify)返回。

总结:wex5并不是我所想象的能迅速开发出应用的(我以为就行浏览器功能加了本地页面,加了一些api)。整个技术栈还是比较深的。为了降低学习成本,我略过了官方文档,然而却带来的是自己屡次碰壁,把时间花在了各种旁门左道上面。

时间: 2024-08-26 16:13:57

使用wex5得到的一些教训的相关文章

wex5 实战 手写签名与上传

之前做过一个物流演示模块,有一个功能没做完,就是收件人收货后,可以手写签名并上传,替代传统纸张的签名.今天终于做完了. 一 效果演示: 后台图片上传成功 二 设计思路: 运用canvas插件jq-signature,制作手写签名,并通过二进制流方式上传图片 三 代码实现: 1 .下载引入插件jq-signature 手写签名插件,网上有很多,经过多种插件的逐步尝试,只有插件jq-signature达到了我想要的效果; 原因有二:1,支持手机触摸,web,鼠标.其它有的不支持手机触摸. 2,直接转

wex5 实战 微信6位数字密码输入设计

微信支付使用是6位数字输入,用wex5能不能制作这种效果呢? 答案是肯定的. 根据网上提供的数字插件,研究源码后,与wex5进行整后修改,便于利用wex5框架优势. 一 效果演示: 弹出密码框 输入 错误提示 密码错误,重新加载页面 二 设计思路: 根据jQuery数字插件源理,改变dom结构和js,将值取到wex5的页面中 三 代码实现 1 jQuery插件简介与缺点 输入效果没问题,后端是ajax,且全部封装到js中,没有对外开放一些方法和参数,直接引入到wex5中,无法直接调用,也没有相关

WeX5学习笔记 - 01

了解WeX5,有朋友突然自己开始学习WeX5,我了解后觉得挺不错的实用范围广,现在手机上的主流软件基本都可以采用WeX5进行开发,如淘宝,美团.手机银行等,所以自己也开始学习WeX5,WeX5是Eclipse的一个优化改进版本,实用Eclipse的同学,完全可以无压力实用WeX5. 个人理解WeX5相当于一个B/S的应用,可以跨平台在安卓.IOS以及手机电脑浏览器上使用,前台使用HTML5,JS,CSS3等技术,后台可以使用Java,PHP,.Net等: WeX5提供了界面可视化操作,界面设计完

资源和政策堆出来的联通还是衰落了,教训深刻

仅凭资源和政策是难以扶起一个有竞争力大企业的,内因才是主要的,有时候资源和政策还会成为绊脚石,让企业失去自省和奋发的动力. 最近三大运营商相继发布了2016年年度业绩报告,中国移动营收为人民币7084亿元,净利润1087亿元,同比增长0.2%:中国电信营收3523亿元,净利润180亿元,同比下降10.2%.去除出售铁塔一次性收入后净利润同比增长11.7%:中国联通营收为2742亿元,净利润6.25亿元,同比下降94.1%. 从财务上看,中国联通一年的净利润还顶不上中国移动三天的净利润,也顶不上中

Linux误删文件教训,吃一堑长一智

前几天在做php期末项目中,这个期末项目做了一个月,最后再添加一个清除缓存的功能就可以完成了,可是悲剧就是在最后发送,写了一段清理缓存的代码,因为还是学生在学习阶段,代码不完善,而且没有经过测试(教训一),直接放在项目里执行,导致写的30几个php文件全部被自己删了,而且没有备份(教训二). 最恨的是,误删文件之后我还往这个文件夹里写入了一些东西并且还把extundelete装到了这个文件夹下(教训三),导致文件只恢复少量一部分,大部分因为被新写入的数据彻底覆盖. 教训一:测试.在写功能的过程中

dbCreate 的重要性,血的教训

DataSource.groovy文件中的dbCreate属性十分重要,因为它可以用来指定是否自动根据GORM类来创建数据库表.其可选值为: create-drop - 当Grails运行时删除并重新建立数据库 create - 如果数据库不存在则创建数据库,存在则不作任何修改 update - 如果数据库不存在则创建数据库,存在则进行修改 开发环境(development)下dbCreate属性默认设置为create-drop: dataSource { dbCreate = "create-

wex5实战之管理收货地址(一)

今天要与大家分享的是实战项目之管理收货地址,现在各种电商app管理收货地址样式越来越多,效果也越来越好.本次项目步骤有这么几个: 1.list迭代json数据,初始化默认收货地址. 2.list数据增.删.改.查. 首先展示效果图,如下: 图一为管理地址页 图二为新增收货地址页 图三为选择城市地区 下面进行详细代码讲解: 1.初始化list数据 Model.prototype.addressDataCustomRefresh = function(event){ var addressData

一个企业IT部署云端环境的经验教训

随着云计算2.0时代的到来,以及"互联网+"行动计划的深入发展,传统企业通过云端环境降低运营成本.共享数据资源.实现合作共赢,已成为一种不可阻挡的生态化发展趋势.然而,云计算时代全新的IT环境,对传统的IT基础架构和IT运营环境产生了巨大的冲击和颠覆,传统企业如何基于自身的资源环境搭建基于云计算基础之上的IT环境已成为众多企业技术的关注焦点. 虽然,云计算已经进入了高速发展时期,红云.青云.蓝汛云等众多优质的云服务及云解决方案提供商为企业技术搭建IT架构.部署云端环境提供了更多的选择,

沉痛的教训

非常感谢博友们的关心和支持,经过这几天的自我调解和大家的慰藉,状态有所恢复.非常感谢大家,再次表达谢意! 我们分手了 我们分手了,对,没错,虽然一直不愿相信,也不愿承认,但确已成为不争的事实. 这是我们分手的第一周末2017-07-07:21:18:37,不知道你在哪里,更不知道你在干什么.你还记得吗,之前的每个周末都是我陪你一起度过,周五晚上我通常回去接你下班,然后相约去看电影,吃特色小吃,逛街,往往都是high到很晚才舍得回家,虽然上了一天班,但每每到今天都乐此不疲. 分手了,我已不在上班期