小程序开发技术总结(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,开发同普通的网页开发有很大的相似性,对于前端开发者而言,从网页开发 ...
随机推荐
- 代码管理平台之git
yum install -y gitmkdir -p /date/gitrootcd !$git init git add 1.txtgit commit -m "add 1.txt&quo ...
- OWASP ModSecurity Core Rule Set (CRS)的基本使用
Preface 前述文章开源WAF工具ModSecurity,介绍了ModSecurity作为Nginx的动态加载模块的基本安装和使用. 本篇简单介绍ModSecurity CRS规则集的使用. # ...
- 【重学Node.js 第5篇】部署项目到腾讯云服务器
课程介绍看这里:https://www.cnblogs.com/zhangran/p/11963616.html 项目github地址:https://github.com/hellozhangran ...
- 红黑树原理详解及golang实现
目录 红黑树原理详解及golang实现 二叉查找树 性质 红黑树 性质 operation 红黑树的插入 golang实现 类型定义 leftRotate RightRotate Item Inter ...
- Windows CLI命令
目录 Windows CLI命令 1.背景 2.netstat 罗列端口号占用情况 3.telnet 远端IP的某个端口号 Windows CLI命令 1.背景 在Windows操作系统下开发,需要用 ...
- mysql 写入中文乱码
今天从另一个系统往mysql数据库写入数据,发现中文变成了????? 检查数据库的设置 ,server对应字符集是latinl 调整mysql参数配置,配置文件目录/etc/mysql/mysql.c ...
- 【漏洞预警】Redis 4.x/5.x 远程命令执行高危漏洞
2019年7月09日,阿里云应急响应中心监测到有安全研究人员披露Redis 4.x/5.x 远程命令执行高危漏洞利用代码工具.针对未授权或弱口令的Redis服务,攻击者通过构造特定请求,成功利用漏洞可 ...
- 一图了解 CODING 2.0:企业级持续交付解决方案
近日,CODING 在 KubeCon 2019 上海站上正式推出了 DevOps 的一站式解决方案:CODING 2.0. CODING 2.0 进行了产品.产品理念.功能.首页的升级,对用户服务进 ...
- MySQL5.6与MySQL5.7安装的区别
一.MySQL5.6与MySQL5.7安装的区别 1.cmake的时候加入了boost 下载boost.org 2.初始化时 cd /application/mysql/bin/mysql 使用mys ...
- WPF 中 Path 使用虚线
效果如下: 上图由两个圆弧组成,代码如下: <!--红色的实线圆弧,旋转200度,顺时针,获取大圆弧--> <Path Data="M 50,200 A 100,100 2 ...