- 授权协议: MIT
- 开发语言: JavaScript
- 操作系统: 跨平台
- 软件首页: https://github.com/Tencent/wepy
- 软件文档: https://github.com/Tencent/wepy/blob/master/README.md
- 官方下载: https://github.com/Tencent/wepy/releases
软件介绍
wepy 是一个小程序组件化开发框架。
组件
小程序支持js模块化,但彼此独立,业务代码与交互事件仍需在页面处理。无法实现组件化的松耦合与复用的效果。 例如模板A中绑定一个bindtap="myclick",模板B中同样绑定一样bindtap="myclick",那么就会影响同一个页面事件。对于数据同样如此。因此只有通过改变变量或者事件方法,或者给其加不同前缀才能实现绑定不同事件或者不同数据。当页面复杂之后就十分不利于开发维护。 因此wepy让小程序支持组件化开发,组件的所有业务与功能在组件本身实现,组件与组件之间彼此隔离,上述例子在wepy的组件化开发过程中,A组件只会影响到A绑定的myclick,B也如此。
wepy编译组件的过程如下:
组件引用
当页面或者组件需要引入子组件时,需要在页面或者script中的components给组件分配唯一id,并且在template中添加<component>标签,如index.wpy。
页面和组件都可以引入子组件,引入若干组件后,如下图:
Index页面引入A,B,C三个组件,同时组件A和B又有自己的子组件D,E,F,G,H。
项目目录结构
├── dist 微信开发者工具指定的目录 ├── node_modules ├── src 代码编写的目录 | ├── components 组件文件夹(非完整页面) | | ├── com_a.wpy 可复用组件 a | | └── com_b.wpy 可复用组件 b | ├── pages 页面文件夹(完整页面) | | ├── index.wpy 页面 index | | └── page.wpy 页面 page | └── app.wpy 小程序配置项(全局样式配置、声明钩子等) └── package.json package 配置
主要解决问题
开发模式转换
支持组件化开发
支持加载外部 NPM 包
单文件模式,使得目录结构更加清晰
默认使用 babel 编译,支持 ES6/7 的一些新特性
针对原生 API 进行优化
Types and Programming Languages
Benjamin C. Pierce / The MIT Press / 2002-2-1 / USD 95.00
A type system is a syntactic method for automatically checking the absence of certain erroneous behaviors by classifying program phrases according to the kinds of values they compute. The study of typ......一起来看看 《Types and Programming Languages》 这本书的介绍吧!
