创建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. 项目目录介绍:

 
image.png

开发过vue的话,这个配置很类似

3. 项目上线注意事项:

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)的更多相关文章

  1. 摩拜单车微信小程序开发技术总结

    前言 摩拜单车小程序已于微信小程序上线第一天正式发布,刷爆微博媒体朋友圈.本文主要讲讲技术方向的总结,在段时间的开发周期内内如何一步步从学习到进阶. 思维转变 微信小程序没有HTML的常用标签,而是类 ...

  2. 微信小程序开发入门教程

    做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先 ...

  3. 微信小程序开发库grace vs wepy

    grace和wepy都是辅助小程序开发的开源库,本文对两者做个对比. 注:本文是作者本人的一些拙见,纯粹的技术讨论,不想引起技术信仰之争,欢迎积极.正向的讨论及建议. 如果你还不了解Grace, 请参 ...

  4. 小程序开发:用原生还是选框架(wepy/mpvue/uni-app/taro)?

    小程序开发:用原生还是选框架(wepy/mpvue/uni-app/taro)? 自 2017-1-9微信小程序诞生以来,历经2年多的迭代升级,已有数百万小程序上线,成为继Web.iOS.Androi ...

  5. 【纯·技术干货】更 App 化的小程序开发

    2018 年 10 月13 日,由又拍云和知晓云联合主办的 Open Talk 丨2018 小程序开发者沙龙系列活动广州站拉开帷幕,糗事百科前端负责人宋航在沙龙上做了<更App化的小程序开发&g ...

  6. 小程序容器技术,App热更新与敏捷开发新方案

    作为追求代码洁癖的软件工程师,我们对"紧耦合"的技术实现可以说是深恶痛绝.要解决当前企业移动端App日益沉重.难以真正迭代.投入产出比低的问题,首先在技术架构上要实现真正的&quo ...

  7. 【小程序开发总结】微信小程序开发常用技术方法总结

    1.获取input的值 <input bindinput="bindKeyInput" placeholder="输入同步到view中"/>   b ...

  8. 小程序开发--WePy框架

    现如今mvvm框架如此火热,其核心思想即js逻辑层不直接操作DOM,只改变组件状态:而视图层则通过模板template进行渲染. 1.WePy项目的目录结构 ├── dist 小程序运行代码目录 ├─ ...

  9. 【好好编程-技术博客】微信小程序开发中前后端的交互

    微信小程序开发中前后端的交互 微信小程序的开发有点类似与普通网页的开发,但是也不尽然相同.小程序的主要开发语言是JavaScript,开发同普通的网页开发有很大的相似性,对于前端开发者而言,从网页开发 ...

随机推荐

  1. SecureCRT登陆liunx 方向键失效

    使用SecureCRT登陆liunx(CenterOS)系统,发现删除(backspace)键.和上下左右键不起作用,解决如下: 先打开Options–>Session Options–> ...

  2. 控制台提示“Invalid string length”的原因

    控制台提示“Invalid string length”,浏览器直接卡掉,是为什么呢? 答:因为在写嵌套循环时,定义的变量重名了,内层和外层用了同一个i变量. -THE END-

  3. Android 使用 aapt 命令查看 apk 包名

    一.aapt 是什么 aapt 即Android Asset Packaging Tool,在SDK的build-tools目录下.该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, ...

  4. CODING 祝大家中秋快乐!

  5. Visual Studio安装工具和安装组件下载速度慢的问题

    下载安装Visual Studio时在下面这个界面下载时速度只有几十KB每秒 解决办法:修改Host文件,在Host文件中添加下面代码,然后保存即可 110.53.72.104 download.vi ...

  6. 有抱负的 DevOps 和 SRE 工程师必读好书清单 | 文末有福利!

    原文地址:https://medium.com/faun/10-great-books-for-aspiring-devops-sre-engineers-76536c7c4909 原文作者:Ayme ...

  7. 拥抱自动化,CODING 2.0 持续集成全新上线

    在文章开始前,做一个小调查,在您的软件项目中集成一行新代码平均需要花多长时间? 15 分钟 一小时 半天 一天及以上 注意这里的集成是指将源码放在一起,并验证源码可以作为一个一致.运行可靠的软件的过程 ...

  8. 49-在 overlay 中运行容器

    上一节我们创建了 overlay 网络 ov_net1,今天将运行一个 busybox 容器并连接到 ov_net1: 查看容器的网络配置: bbox1 有两个网络接口 eth0 和 eth1.eth ...

  9. Linux(Centos7)下Mysql的安装

    1.1 查看mysql的安装路径: [root@bogon ~]# whereis mysql mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysq ...

  10. Shell—详解$0、$1、$2、$#、$*、$@、$?、$$变量

    预定义变量:常用来获取命令行的输入 变量 作用 $0 当前Shell脚本本身的文件名称 $1 脚本接收的第一个参数($1-$9:第1-9个命令行参数名) $2 脚本接收的第二个参数($1-$9:第1- ...