`

微信小程序学习之路《九》 模块化

 
阅读更多

微信小程序开发 - 模块化

 

 

JavaScript模块化参考文档

 

 

 

JS 模块化

 

微信小程序秉承了JavaScript模块化的机制,将一些公共的代码抽离成为一个单独的 js 文件作为一个模块,通过module.exports或者exports暴露对象,通过require来获取对象。

 

需要注意的是:

  • exports 是 module.exports 的一个引用,因此在模块里边随意更改 exports 的指向会造成未知的错误。推荐采用module.exports 来暴露模块接口。
  • 小程序目前不支持直接引入 node_modules , 开发者需要使用到 node_modules 时候建议拷贝出相关的代码到小程序的目录中。

 

以util.js文件中模块化处理时间为例:

 /**
 * 处理具体业务逻辑
 */
function formatTime(date) {
  //获取年月日
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  //获取时分秒
  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds();

  //格式化日期
  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

/**
 * 模块化导出暴露接口
 */
module.exports = {
  formatTime: formatTime
}

 

使用方式:

//导入模块化方式
var util = require('../../utils/util.js')
Page({
  data: {
    logs: []
  },
  onLoad: function () {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(function (log) {        
        return util.formatTime(new Date(log))
      })
    })
  }
})

 

 

WXML 模块化

 

wxml代码里也可以根据界面上不同的部分去分块。从主wxml文件里分出来的文件,可以写成一个模板template,或者另外一段wxml代码,通过import或者include导入,实现模块化。

 

 

WXSS 模块化

 

wxss也支持模块化,用@import来导入其它wxss文件到主wxss文件中(要放在主wxss文件最上面)。如:@import "base.wxss"

 

 

模块化的几个小建议

 

1js共用的模块抽出来,放到一个文件夹里,取名如common,里面可以再按功能去分更细的模块,如网络请求模块common/net.js,工具方法集common/util.jswebsocket相关模块等等。

 

2、把共用的页面头部、底部,放到page/common/ 里面,记得把jswxml也放在一起。

 

3、引用外部的库的话,把它们的文件统一放到 lib/ 目录里。

 

4、之前文章提到的页面和文件的目录划分,也不用去改。如page/ 目录专门存放页面,一对名字(xxx.wxmlxxx.js)就对应一个页面,如果只是页面的一部分,可以放到page/[page_name]/ 目录里,表示这个页面专门用的模块,但如果是几个页面共享的,可以放在上面第2点提到的page/common/

 

5、模板放tpl/ 目录里,并按页面来分文件夹放。

 

6、相关的event handler如果逻辑比较多,可以单独抽出来放到一个文件里。

 

 

分享到:
评论

相关推荐

    微信小程序控制PB系列蓝牙模块源码(AiPBxxForWeChat-main).zip

    这个项目的核心在于实现了微信小程序与蓝牙模块之间的高效通信,为物联网设备的智能化提供了便捷的解决方案。 在该项目中,"AiPBxxForWeChat-main"很可能包含了以下几个关键组成部分: 1. **蓝牙模块(PB系列)**...

    微信小程序点餐系统微信小程序开发实战

    1. 微信小程序框架:掌握微信小程序的基础架构,理解组件化和模块化的开发方式。 2. 数据绑定:理解WXML和JS之间的数据绑定,实现视图与数据的同步。 3. 网络请求:使用wx.request进行接口调用,处理JSON数据。 4. ...

    微信小程序代码-微信中的知乎--微信小程序demo.zip

    7. **组件化开发**:微信小程序支持自定义组件,这有助于代码复用和模块化。例如,评论组件、点赞组件等可以被多次使用在不同的页面中,提高开发效率。 8. **生命周期方法**:每个小程序页面都有其特定的生命周期,...

    微信小程序-模仿QQ小程序

    本项目“微信小程序-模仿QQ小程序”旨在通过模仿QQ小程序的界面和功能,帮助开发者学习和掌握微信小程序的开发技巧。 首先,我们需要了解微信小程序的基本结构。微信小程序由JSON、WXML、WXSS和JavaScript四部分...

    微信小程序-微信小程序,菜谱大全

    综上所述,“微信小程序-微信小程序,菜谱大全”项目涉及到了微信小程序的基础开发、数据管理、用户交互、页面布局等多个方面的技术知识,开发者需要掌握微信小程序的开发框架和相关API,才能打造出一个功能完善、...

    微信小程序蓝牙控制继电器及串口调试 微信小程序源代码

    本文将详细讲解微信小程序在蓝牙控制继电器及串口调试中的应用,以及涉及的相关技术与实现方式。...对于学习和实践物联网(IoT)技术、嵌入式系统开发以及微信小程序应用的开发者来说,这是一个非常有价值的参考案例。

    微信聊天微信小程序源码.zip

    微信小程序采用组件化和模块化的开发方式,类似于React或Vue.js。它的核心包括WXML(WeiXin Markup Language)用于描述页面结构,WXSS(WeiXin Style Sheets)负责样式设计,而JS(JavaScript)则处理逻辑和数据绑定...

    微信小程序项目之微信阅读小程序(源码+说明).zip

    【微信小程序项目之微信阅读小程序】是一个以微信小程序为平台的开发项目,旨在构建一个集书籍阅读、信息浏览和互动交流于一体的在线阅读应用。通过这个项目,开发者可以深入学习微信小程序的开发技术,理解其架构...

    微信小程序:图片拼图小程序源码

    总的来说,"图片拼图小程序源码"涵盖了微信小程序开发中的图像处理、用户交互、模板设计等多个方面,对于想要涉足微信小程序开发,尤其是对图像编辑功能感兴趣的开发者来说,这是一个很好的学习资源。通过深入研究这...

    原生微信小程序源码 - -商城

    【微信小程序概述】 微信小程序是腾讯公司推出的一种轻量级应用开发平台,它基于JavaScript、WXML(微信标记...通过不断学习和实践,开发者可以打造出功能完善、操作便捷的微信小程序商城,满足用户多样化的购物需求。

    微信小程序DEMO

    本DEMO是关于微信小程序的一个实例,可以帮助我们了解和学习微信小程序的开发流程和技巧。 首先,我们要理解微信小程序的基本结构。一个小程序通常包含以下部分:app.json(全局配置)、index.js(页面逻辑)、...

    微信小程序项目-美食列表

    9. **样式隔离**:学习如何避免样式冲突,合理使用类名和选择器,以及微信小程序提供的样式隔离机制。 10. **调试与测试**:掌握微信开发者工具的使用,进行代码编辑、预览、调试和性能优化。 通过实践“美食列表...

    基于JavaScript的微信小程序前端模板

    总的来说,这个“基于JavaScript的微信小程序前端模板”将帮助开发者快速上手微信小程序的开发,通过学习和实践,可以创建出功能丰富、用户体验良好的移动应用。同时,深入理解和运用JavaScript、ECMAScript新特性,...

    微信小程序模块化开发框架

    微信小程序模块化开发框架是现代前端开发中的一种高效组织代码的方式,它可以帮助开发者将复杂的项目分解为可重用、可管理的小块,提高代码的可维护性和复用性。在这个框架下,我们可以利用JavaScript的核心特性,...

    微信小程序学习demo:笑话大全;使用聚合数据API

    最后,学习和理解这个小程序的源码可以帮助初学者掌握微信小程序的基本开发流程,包括API调用、数据绑定、页面路由、组件化编程等关键概念。同时,通过实际操作,还能锻炼开发者的问题解决能力,了解如何调试和优化...

    微信小程序项目之考研知识题库小程序(源码+说明).zip

    【微信小程序项目之考研知识题库小程序(源码+说明).zip】是一个包含源代码和说明文档的压缩包,主要用于帮助开发者或者学习者了解如何构建一个基于微信小程序平台的考研知识题库应用。这个项目旨在提供一个交互式的...

    微信小程序实现婚礼邀请函源代码

    微信小程序是一种轻量级的应用开发平台,主要用于在微信内创建丰富的互动体验。...通过学习和理解这个项目的源代码,开发者可以深化对微信小程序开发的理解,同时也能获得灵感,为其他应用场景创造更多可能。

    微信小程序-电影推荐-程序源码.zip

    这个小程序的源码是开发者的智慧结晶,通过分析和学习,我们可以了解到微信小程序的开发流程和技术栈。微信小程序的开发主要基于JavaScript、WXML(微信小程序的结构语言)和WXSS(微信小程序的样式语言)。...

    微信小程序源码合集1-6.rar

    本压缩包文件“微信小程序源码合集1-6.rar”包含了一系列微信小程序的源代码,对于学习和研究微信小程序开发具有很高的价值。 源码合集中的每个子文件都代表了一个独立的小程序项目,下面是每个文件的简要介绍: 1...

Global site tag (gtag.js) - Google Analytics