美文网首页
2. 模块化编程

2. 模块化编程

作者: JohnSmith | 来源:发表于2015-06-22 20:34 被阅读114次

    项目的 Demo 在 http://juy.fm

    虽然目前网站还只是个空架子,我们还是未雨绸缪,引入「模块化编程」的概念。举些简单的例子,项目中可能会用到一些公用方法,我希望各个文件都可以引用到,通过模块化编程,我可以把这些方法都放在一个叫 utils.js 的文件中,然后在其它各文件中「依赖」它;另一个例子,音乐网站当然需要有一个用来播放的 audio 对象,我可以把这个对象的所有功能全部放在一个文件中,在其它需要 audio 的文件中「依赖」它,好处是代码功能得到合理划分。

    在 Meteor 中我选择了 mrt:define 插件,它实现了 Require 的核心功能,在 Meteor 的框架下使用方式略有改动,上手还是很容易的。我之前对 Meteor 和 RequireJS 的联用有一些误区,Meteor 的 Developer 尤小右在知乎上做了耐心的解答

    另外,audio 对象是在详细页的 html 渲染完成后附加在 body 上的,用到了 Template.TemplateName.onRendered(function() {}) 方法,onRendered 和已被废弃的 rendered 的区别,可以参见 Meteor 社区的这篇讨论

    注:其实 audio DOM 对象已经自带了非常丰富的操作音频文件的功能,之所以把它封装成对象,是考虑日后可能会有增加一些复杂功能的需求。目前来看,封装 audio 有多此一举的嫌疑,我们之后根据需求再来修正。

    Github地址:加入模块化的支持

    相关文章

      网友评论

          本文标题:2. 模块化编程

          本文链接:https://www.haomeiwen.com/subject/zwosqttx.html