小程序开发技术总结(wepy)
创建wepy项目
- 全局安装或更新WePY命令行工具:
npm install wepy-cli -g
- 在开发目录中生成Demo开发项目:
wepy new myproject , 1.7.0之后的版本使用 wepy init standard myproject 初始化项目,使用 wepy list 查看项目模板
- 切换至项目目录:
cd myproject
- 安装依赖:
npm install
- 开启实时编译:
wepy build --watch(也可以npm run dev,详细查看package.json)
wepy本地运行项目步骤如下:
首先gitLab拿去代码,进入根目录npm install,然后npm run dev生成dist文件,在开发者工具中就打开小程序项目调试,将项目目录选择dist,即可实时看到调试效果
2. 项目目录介绍:

开发过vue的话,这个配置很类似
3. 项目上线注意事项:
首先,项目要遵从小程序的上线规则,句规则参照:https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000808396a4260c0f1066c5a551801&highline=%E5%BC%BA%E5%88%B6%E8%8E%B7%E5%8F%96%E7%94%A8%E6%88%B7%E4%BF%A1%E6%81%AF
其次,上线前一定先删除目录下的dist,重新再执行npm run build,这样尽可能缩小实际上线项目体积(不要超过2M),打包好后,在开发者工具上上传代码,在后台可将代码设置为体验版,测试人员使用体验版对小程序进行测试,测试结束,可将体验版提交审核,审核通过发布小程序,就能在微信端搜索到你的小程序了
4. 小程序如何测试:
开发者自测:注意要将开发者工具关闭ES6 转 ES5,不然wepy编译会报错,如果需要请求域名或者需要用到web-wiew域名,后台未设置安全连接,打开工具的设置(不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书)
image.png将测试人员设置为开发者,不是开发者无法进入开发板,同时手机打开调试模式,即可进路小程序体验版,体验版下面的vclone可以看到相关信息
5. 我写小程序代码配置:
项目公共配置放在app.wepy里面,包括了授权、验证、登录以及获取用户信息
请求链接随项目环境切换,公司为了解决后台域名一个月只能改一次的限制,搞了一个花生壳域名,不同环境指向不同域名,这样就不需要没切换一个环境,就需要小程序后台改域名,太麻烦
6.wepy的一个坑,准确说其实是小程序的坑
在项目过程中,发现在有一个详情页面,渲染速度慢的出奇,因为页面数据结构很复杂,处理逻辑很多,所以我怀疑是数据处理的性能问题,但实际证明并不是数据处理耗时间,而是wepy的脏数据检查非常耗时(apply()),有时甚至超过了20s,于是我放弃wepy的apply(),改用小程序的setData(),问题同样存在,原因就是这个页面数据量太大,将数据转换为字符串长度竟然有的已经超过100万了,不慢就怪了。。。。这个问题解决办法只能是后台数据结构月简单越好,层级越少越好,数据量越少越好.....
详情参考:https://github.com/Tencent/wepy/issues/1090,这位大佬给出了详细原因,同时作者表示在2.0在进行这方面优化
相关文档:
小程序:https://developers.weixin.qq.com/miniprogram/dev/
Wepy:https://tencent.github.io/wepy/document.html
另外,发现一个小程序的bug:input组件在工具上调试正常,但在手机上预览或者体验版时,将光标移到最前面,点击删除,e.detail.value变为了空,问了和社区官方,明显是个bug(手动狗头)..。。bug链接:https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000e824805c778b810175857a5b000&commentid=0002605d888ff0ea6d1700b69510&token=425717196&lang=zh_CN
转载:https://www.jianshu.com/p/be77689b6727
小程序开发技术总结(wepy)的更多相关文章
- 摩拜单车微信小程序开发技术总结
前言 摩拜单车小程序已于微信小程序上线第一天正式发布,刷爆微博媒体朋友圈.本文主要讲讲技术方向的总结,在段时间的开发周期内内如何一步步从学习到进阶. 思维转变 微信小程序没有HTML的常用标签,而是类 ...
- 微信小程序开发入门教程
做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...
- 微信小程序开发库grace vs wepy
grace和wepy都是辅助小程序开发的开源库,本文对两者做个对比. 注:本文是作者本人的一些拙见,纯粹的技术讨论,不想引起技术信仰之争,欢迎积极.正向的讨论及建议. 如果你还不了解Grace, 请参 ...
- 小程序开发:用原生还是选框架(wepy/mpvue/uni-app/taro)?
小程序开发:用原生还是选框架(wepy/mpvue/uni-app/taro)? 自 2017-1-9微信小程序诞生以来,历经2年多的迭代升级,已有数百万小程序上线,成为继Web.iOS.Androi ...
- 【纯·技术干货】更 App 化的小程序开发
2018 年 10 月13 日,由又拍云和知晓云联合主办的 Open Talk 丨2018 小程序开发者沙龙系列活动广州站拉开帷幕,糗事百科前端负责人宋航在沙龙上做了<更App化的小程序开发&g ...
- 小程序容器技术,App热更新与敏捷开发新方案
作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...
- 【小程序开发总结】微信小程序开发常用技术方法总结
1.获取input的值 <input bindinput="bindKeyInput" placeholder="输入同步到view中"/> b ...
- 小程序开发--WePy框架
现如今mvvm框架如此火热,其核心思想即js逻辑层不直接操作DOM,只改变组件状态:而视图层则通过模板template进行渲染. 1.WePy项目的目录结构 ├── dist 小程序运行代码目录 ├─ ...
- 【好好编程-技术博客】微信小程序开发中前后端的交互
微信小程序开发中前后端的交互 微信小程序的开发有点类似与普通网页的开发,但是也不尽然相同.小程序的主要开发语言是JavaScript,开发同普通的网页开发有很大的相似性,对于前端开发者而言,从网页开发 ...
随机推荐
- Appium(六):元素定位
1. 元素定位 对于自动化测试来说,核心技能就是对象的定位了.不管是web页面上的按钮或输入框,还是移动app上的一个按钮或输入框,我们要想对其进行点击或输入操作,前提是要先找到这个对象. webdr ...
- 面试连环炮系列(十一):说说你们的分布式ID设计方案
说说你们的分布式ID设计方案 我们采用Snowflake算法,生成一个64bit的数字,64bit被划分成多个段,分别表示时间戳.机器编码.序号. 41位的时间序列(精确到毫秒,41位的长度可以使用6 ...
- JS中遍历对象属性的四种方法
Object.keys().Object.values().Object.entries().for...in.Map (1)Object.keys(): let ex1 = {c1: 'white' ...
- 8 种经常被忽视的 SQL 错误用法,你有没有踩过坑?
1.LIMIT 语句 分页查询是最常用的场景之一,但也通常也是最容易出问题的地方.比如对于下面简单的语句,一般 DBA 想到的办法是在 type, name, create_time 字段上加组合索引 ...
- MySQL的表定义语法
表定义 只有成功创建数据库后,才能创建数据表,数据表是字段的集合,在表中数据按行和列的格式存储 创建表 MySQL 使用 CREATE TABLE 创建表.其中有多个选择,主要由表创建定义(creat ...
- Complete_NGINX_Cookbook
Complete NGINX Cookbook 下载地址:Complete NGINX Cookbook
- Oracle dataguard切换实施步骤
主备库的切换主要在两种情况下切换,Switchover和Failover,这两种切换都需要手工执行完成,不建议自动执行.主库端 192.168.411.20备库端 192.168.411.221 一是 ...
- Go语言系列:(2)go get 命令介绍
Go语言的代码被托管于 Github.com 网站,该网站是基于 Git 代码管理工具的,很多有名的项目都在该网站托管代码.其他类似的托管网站还有 code.google.com.bitbucket. ...
- Linux系统学习 十六、VSFTP服务—本地用户访问—基本用户基础配置
缺点,ftp密码是和系统密码是一致的,并不安全 先设置两个测试用户 test1 123123 test2 123123 基本用户基础配置 1.本地用户基本配置 local_enab ...
- pytest系列(一):什么是单元测试界的高富帅?
pytest是python语言中一款强大的单元测试框架,用来管理和组织测试用例,可应用在单元测试.自动化测试工作中. unittest也是python语言中一款单元测试框架,但是功能有限,没有pyte ...