Sheppard Y

keep thinking keep coding.

pomelo0.5.5源码分析(1)-组件

2016-07-11 日更新 
此篇博客已经迁移到新博客,并做行文检查和优化排版:
http://blog.clawz.me/2013/08/15/13-pomelo-read-source-1/

 

    由于才接触nodejs几天,看源码时各种细节和设计方法都得熟悉下。结合chatofpomelo-websocket,先从pomelo的使用入口开始看。

 

一、chatofpomelo的开启流程

    Pomelo.createApp出来Application,然后Application.start就开启了。

    createApp时会调Application.init来做初始化。

    init里调AppUtil.defaultConfiguration来读入默认配置。例如从master.json里读入master配置(Application.master),从servers.json里读入服务器集群各进程的type、host和port配置(可以通过Application.get("__serverMap__")获取)。

 

二、组件的挂载

    组件放在components目录下。各组件可以通过Pomelo.components或者直接通过Pomelo来按名取。也可以通过Application.components来按名取(每个组件的名字在自己的name属性里,通常为js文件名加前后双下划线,例如connector.js的组件名为“__connector__”)。

    下面看下组件的挂载和运行。

    Pomelo里会遍历componets目录里的各个js文件,然后require到Pomelo里和Pomelo.components里。

    Application.start里先调用AppUtil.loadDefaultComponents,loadDefaultComponents里会根据Application.serverType来Application.load需要的components。

    Application.load里会将Pomelo里的components放到自己的components里。

    Application.start/stop/afterStart等方法会统一执行各components里的对应start/stop/afterStart等方法。

 

三、ps

    ​这篇发表后,在google里搜了下(我的一点恶趣味:经常发表随笔后会看看搜索引擎收录了没)“pomelo 源码分析 组件”,发现了pomelo官方wiki里关于组件的说明,奇怪之前准备看组件时没搜到。分析源码之前也浏览了下官方wiki,应该是偏向于了解大概了,各细节没了太大印象。

    ​不过官方已经有了也没关系,随笔给人参考的价值变小后,就当自己的笔记吧。

    ​另外网上也有些pomelo的源码分析了,但是看了眼,跟我想要的不太一样。

 

附官方组件wiki:

  1. Pomelo-Framework里的组件部分:https://github.com/NetEase/pomelo/wiki/Pomelo-Framework

  2. Pomelo-组件:https://github.com/NetEase/pomelo/wiki/Pomelo-%E7%BB%84%E4%BB%B6

 

posted on 2013-08-15 20:31 Sheppard Y 阅读(1273) 评论(0)  编辑 收藏 引用 所属分类: 开源nodejs


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2013年8月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

留言簿(1)

随笔分类(77)

随笔档案(58)

me

基友

同行

业界前辈

最新随笔

搜索

积分与排名

最新评论

阅读排行榜