创建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. linux中关于权限的一些事

    权限这个东西对于初学者来说可能会有点陌生,不过不要紧,看完下面的讲解应该会对你有一定的帮助 权限rwx rwxrwxrwx  u     g    o         a r:可读      4 w: ...

  2. Unity 依赖注入容器的AOP扩展

    使用EntLib\PIAB Unity 实现动态代理 using System; using Unity; using Unity.Interception; using Unity.Intercep ...

  3. Excel映射到实体-easyexcel工具

    来源 项目需要把Excel进行解析,并映射到对象属性,实现类似Mybatis的ORM的效果.使用的方式是自定义注解+POI,这种方式代码复杂而且不易于维护. easyexcel是阿里巴巴开源的一个框架 ...

  4. Java网络爬虫 Jsoup

    一.Jsoup介绍 我们抓取到页面之后,还需要对页面进行解析.可以使用字符串处理工具解析页面,也可以使用正则表达式,但是这些方法都会带来很大的开发成本,所以我们需要使用一款专门解析html页面的技术. ...

  5. Python - 文件分发小程序

    一.概述 该小程序实现从源端到目标端的文件一键拷贝,源端和目标段都在一台电脑上面,只是目录不同而已 二.参数文件说明 1. settings.txt的说明 a. 通过配置settings.txt,填源 ...

  6. Python高级特性——迭代器

    可以直接用for循环的数据类型有: 集合数据类型,如:list.tuple.dict.set.str等: 生成器generator,包括生成器和带yield的generator function. 以 ...

  7. springboot2.x实现oauth2授权码登陆

    参考文章:https://blog.csdn.net/qq_27828675/article/details/82466599 一 进行授权页 浏览器输入http://localhost:8081/o ...

  8. React Hook父组件获取子组件的数据/函数

    我们知道在react中,常用props实现子组件数据到父组件的传递,但是父组件调用子组件的功能却不常用.文档上说ref其实不是最佳的选择,但是想着偷懒不学redux,在网上找了很多教程,要不就是hoo ...

  9. 2019 DevOps 必备面试题——容器化和虚拟化

    原文地址:https://medium.com/edureka/devops-interview-questions-e91a4e6ecbf3 原文作者:Saurabh Kulshrestha 翻译君 ...

  10. Tornado—options.define()方法与options.options解读

    tornado为我们提供了一个便捷的工具,tornado.options模块——全局参数定义.存储.转换. tornado是facebook开源的非阻塞web容器,类似java的netty,torna ...