打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
小程序实用框架之WePY篇

作者:极链科技前端Team 凌福喆

一.WePY 是什么?

前端开者肯定Vue.js Webpack 这两个开源项目非常熟悉。Web App H5 发过程中,我常常将 Vue.js 用作核心,用Webpack 做模化打包,其能运行于浏览器端。那么 WePY 是什么西呢?我可以把WePY 理解成 Web 端的 Vue.js Webpack 合体,它能过编译手段运行在小程序端,并且可以使用 Vue.js 的一些法和特性。

二.WePY 的功能与特点

首先我们先说说原生小程序开发中的痛点

1) 频繁调用 setData及 setData过程中页面跳闪

2) 组件化支持能力太弱(几乎没有)

3) 不能使用 less、jade 

4) 无法使用 NPM 包及 ES 高级语法

5) request 并发次数限制

  6) 一个页面对应4个文件,看的眼花缭乱

WePY相比于小程序,主要点如下:

1、开模式容易转换 wepy在原有的小程序的开模式下行再次封装,更近于MVVM框架开模式。框架在开发过程中参考了 一些在框架的一些特性,并且融入其中,以下是使用wepy前后的代码对

      官方DEMO代码:

   

      基于wepy的实现:

   

2. 真正的件化开 小程序然有标签可以实现组件复用,但仅限于模板片段层面的复用,业务代码与交互事件 仍需在理。无法实现组件化的松耦合与复用的效果。

      wepy组件示例

3.支持加外部NPM 小程序大的缺陷是不支持NPM包,致无法直接使用大量秀的开源内容,wepy编译过程当中,会递归 中的require然后将对应文件从node_modules当中拷出来,并且修改require为相对路径, 从而实现对外部NPM包的支持。

4.单文件模式,使得目录结构更加清晰 小程序官方目录结构要求app必须有三个文件app.json,app.js,app.wxss,页面有4个文件 index.json,index.js,index.wxml,index.wxss。而且文 件必须同名。 所以使用wepy开发前后开发目录对比如下:

5.默认使用babel编译,支持ES6/7的一些新特性。

6.wepy支持使用less默认开启使用了一些新的特性如promise,async/await等等

三.WePY 开发总结

1. 自定义 interceptor

      创建 network 文件夹 新建 interceptor.js

       

新建 index.js

最后在 app.wpy中引入req

2. request 加入失败重试

创建 retry.js

修改 network 下index.js

3. repeat标签嵌套两级以及以上组件传值给自组件传值问题

这个问题其实是wepy的一个bug,在github上已经有好多人提过Issues,官方并没有给出解释,经过自己的摸索,有两种解决方式:

1.     对于纯组件用小程序原生的模板template代替

       子组件中第二层循环采用此写法,直接使用template

   

在主页面中引入此模板

wepy最终会把所引用的组件代码,都打包到一个主页面中的,所以在主页面引入模板即可

2.     第一种方法可以解决问题,并且还节省了代量,但属于wepy和原生小程序混写,后面又发现另一种解决

       对于第二层循环要传的值,用repeat标签包裹一层

      

4. 小程序开发工具变慢

在开发过程城中,随着目文件的越来越大,会发现小程序的开工具越来越慢,甚至一个跳都要等几秒才能跳转过去,候需要把小程序打包出来的文件dist文件夹删掉,然后重新打包,会快很多,wepy也提供了命令,直接运行 npm runclean 也能达到同的效果。

5. 小程序在手机上预览,出现卡顿现象

现这种情况有多方面的原因,如果你之前用原生小程序开发过项目,那么直接点工具上的预览,然后用手机扫码预览是一个常的操作,但是在使用wepy过程中,你使用npm run dev命令后,是出于开发环境,dist文件中的代并没有压缩化,所以手机预览候会得很慢,运行 npm runbuild打成生预览,可以解决。

6. 个别手机样式错乱

安装 autoprefixer 即可

7. mixin

wepy的mixin,与vue中的mixin执行顺序相反

  • wepy中,会先件自身的,再mixin中的

  • vue子函数,会先mixin中的,再件自身的;vuemethods如果和mixin同名,那么只会行自身的方法

以上是wepy的简要介绍,有兴趣的朋友可以阅读源码 综合来讲,wepy的核心在于编译环节,能够将优雅简洁的类似VUE风格的代码,编译成微信小程序所需要的繁杂代码

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
全网首发mpvue课程,小程序全栈开发
强烈推荐:绝对是最好的一个小程序开源框架
第7章 小程序开发框架
5分钟学会小程序开发
微信小程序开源项目资源大全,强烈推荐!
跨端开发框架深度横评
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服