小程序入门模块化开发教程
模块具有以下几种基本属性:接口、功能、逻辑、状态,功能、状态与接口反映模块的外部特性,逻辑反映它的内部特性。微信小程序的模块化是用来分割,组织和打包软件。每个模块完成一个特定的子功能,所有的模块按某种方法组装起来,成为一个整体,完成整个系统所要求的功能。 在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。 我们可以将一些公共的代码抽离成为一个单独的 js 文件,作为一个模块。模块只有通过module.exports或者exports才能对外暴露接口。 需要注意的是: exports是module.exports的一个引用,因此在模块里边随意更改exports的指向会造成未知的错误。所以我们更推荐开发者采用module.exports来暴露模块接口,除非你已经清晰知道这两者的关系。 小程序目前不支持直接引入node_modules,开发者需要使用到node_modules时候建议拷贝出相关的代码到小程序的目录中。 我们来看看小程序创建时候自带的utils.js文件中使用: 这是一个格式化日期的工具模块: 根据js文件中的方法 new Date()获取系统的当前时间 传递给formatTime,根据year month day格式化时间的格式输出,代码如下: utils.js代码:注意红标处,这里必须吧这个方法暴露出去,其他的js文件才能使用require获取方法 log.js代码:第一个标签 表示引入了Utils.js里面的方法: 第二个是直接使用在utils中暴露出来的formatTime方法格式化时间。 使用方法: 上面我们已经介绍了一个格式化时间的模板,最近但是最近需要用电话号码注册,需要一个倒计时的button,所以就写了一个: 首先我们做倒计时时候必须是使用递归的思想去做,还要判断时间是否为0 为0之后需要改变button的数据。注意这里的参数是this,之前的文章也提到了this的作用域,到了utils.js中自然是无法使用的了,而且在使用。this的时候必须与之前Page()函数中data的数据的key是一样的。 最需要注意的就是一定要记得把方法暴露出来:module.exports。在使用的时候一定要使用require引入。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |