小程序组件化开发框架 wepy(微信小程序组件化开发)

wepy 是一个小程序组件化开发框架。

组件

小程序支持js模块化,但彼此独立,业务代码与交互事件仍需在页面处理。无法实现组件化的松耦合与复用的效果。 例如模板A中绑定一个bindtap=\”myclick\”,模板B中同样绑定一样bindtap=\”myclick\”,那么就会影响同一个页面事件。对于数据同样如此。因此只有通过改变变量或者事件方法,或者给其加不同前缀才能实现绑定不同事件或者不同数据。当页面复杂之后就十分不利于开发维护。 因此wepy让小程序支持组件化开发,组件的所有业务与功能在组件本身实现,组件与组件之间彼此隔离,上述例子在wepy的组件化开发过程中,A组件只会影响到A绑定的myclick,B也如此。

wepy编译组件的过程如下:

小程序组件化开发框架 wepy(微信小程序组件化开发)

组件引用

当页面或者组件需要引入子组件时,需要在页面或者script中的components给组件分配唯一id,并且在template中添加<component>标签,如index.wpy。

页面和组件都可以引入子组件,引入若干组件后,如下图:

小程序组件化开发框架 wepy(微信小程序组件化开发)

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 配置

主要解决问题

  1. 开发模式转换
  2. 支持组件化开发
  3. 支持加载外部 NPM 包
  4. 单文件模式,使得目录结构更加清晰
  5. 默认使用 babel 编译,支持 ES6/7 的一些新特性
  6. 针对原生 API 进行优化

Demo

<style lang=\”less\”> @color: #4D926F; .userinfo { color: @color; }</style><template lang=\”pug\”> view(class=\’container\’) view(class=\’userinfo\’ @tap=\’tap\’) mycom(:prop.sync=\’myprop\’ @fn.user=\’myevent\’) text {{now}}</template><script> import wepy from \’wepy\’; import mycom from \’../components/mycom\’; export default class Index extends wepy.page { components = { mycom }; data = { myprop: {} }; computed = { now () { return new Date().getTime(); } }; async onLoad() { await sleep(3); console.log(\’Hello World\’); } sleep(time) { return new Promise((resolve, reject) => setTimeout(resolve, time * 1000)); } }</script>

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年4月5日 上午8:11
下一篇 2023年4月5日 上午8:21

相关推荐

  • 科研项目立项审批表 科研项目立项审批表怎么填

    科研项目立项审批表是科研项目申请过程中必不可少的表格,它记录了科研项目的立项情况,包括项目的名称、研究目的、研究内容、研究进度、预算、人员配备、参考文献等信息。填写科研项目立项审批…

    科研百科 2024年7月30日
    65
  • 项目管理成熟度模型(项目管理成熟度模型的应用)

    项目管理成熟度模型概述 项目管理成熟度模型概述 项目管理成熟度实际上是项目管理过程的成熟度,项目管理成熟度模型是基于项目管理过程的基础上,把企业项目管理水平分成多个等级,形成一个逐…

    科研百科 2022年7月14日
    308
  • 建功新时代(98) – 张晓:专心致“质”,做泰山脚下工程质量守护人

    编者按: 奋斗正当时,青春建新功。为更好宣传展示我省住房城乡建设领域青年人才风采,大力弘扬工匠精神,激励青年一代接续奋斗,共青团山东省委、山东省住房和城乡建设厅、山东省互联网传媒集…

    科研百科 2022年7月20日
    218
  • 项目管理系统建设意义

    项目管理系统建设意义 项目管理系统是一种用于组织、管理和控制项目过程的软件系统。在现代商业环境中,项目管理系统已经成为项目团队中不可或缺的一部分。本文将探讨项目管理系统建设的意义。…

    科研百科 2025年1月1日
    0
  • 软件的项目管理包括

    软件项目管理包括 软件项目是指由软件工程师团队开发的软件产品或服务。软件项目的成功关键在于有效的项目管理,包括计划,执行,监控和收尾阶段。以下是软件项目管理的一些关键方面。 1. …

    科研百科 2024年9月1日
    38
  • 专业的项目管理Mac版:Project Office(项目管理软件 mac)

    Project Office for Mac是一款专业的项目管理软件。它可以帮助团队规划、跟踪和协作完成项目,提供了各种工具和功能,包括任务列表、资源管理、进度跟踪、报告生成等。使…

    科研百科 2023年8月31日
    248
  • 轻冶股份与郑州大学签订“无碳铝冶炼工艺研究与技术开发”项目合作协议

    挖贝网11月3日,轻冶股份(872290)近日发布公告,郑州轻冶科技股份有限公司与郑州大学铝冶金团队联合启动“无碳铝冶炼工艺研究与技术开发”项目,并于近日在郑州轻冶科技股份有限公司…

    科研百科 2024年4月21日
    127
  • 口腔科药剂科科研方向

    口腔科药剂科科研方向 随着现代医疗技术的不断发展,口腔科药剂科的研究也越来越受到关注。口腔科药剂科是一门研究如何使用药物来治疗口腔疾病的药物科学,其重要性不言而喻。本文将介绍口腔科…

    科研百科 2024年10月28日
    0
  • 合同管理的重点及难点

    合同管理是企业管理中的重要组成部分,是确保企业合同执行和履行的关键。合同管理的重点和难点如下: 一、合同管理的重点 1. 合同内容的管理和审核:合同内容的管理和审核是合同管理的重点…

    科研百科 2024年8月26日
    41
  • 合同管理台账

    合同管理台账 合同管理台账是一个重要的管理工具,可以帮助企业有效地管理合同。合同管理台账包括合同的基本信息、签署日期、生效日期、履行期限、合同变更和解除情况等信息。这些信息可以帮助…

    科研百科 2024年5月25日
    96