Node.js 遊戲開發框架 Pomelo 知識點
最近更新時間:2019-09-24
原文鏈接:http://www.childsay.com/pomelo-point.html
1.獲取 pomelo 運行的環境
源碼中設置運行環境的位置 lib/util/appUtil.js
// 193 行
var setupEnv = function(app, args) {
app.set(Constants.RESERVED.ENV, args.env || process.env.NODE_ENV || Constants.RESERVED.ENV_DEV, true);
};
其中 Constants.RESERVED.ENV 的值爲 env,Constants.RESERVED.ENV_DEV 的值爲 development。
使用 pomelo start
方式啓動時如果沒有傳入 --env 參數,則會先檢查 process.env.NODE_ENV 環境變量是否設置,如果沒有則默認爲 development。如果是通過 pomelo start --env production
方式啓動則是 production。
獲取運行環境的方法爲:
app.get('env')
2.獲取項目的根目錄
app.get('base')
// 或
app.getBase()
即 app.js 所在的目錄
3.監聽所有 server 啓動完成後事件
如果需要在所有服務器啓動完成後,再執行某些操作,可以通過監聽 start_all
事件來實現。
// app.js
app.event.on('start_all', () => {
console.log(`所有服務啓動完成了`)
})
app.event 其它事件
- bind_session
- close_session
- add_servers
- remove_servers
- replace_servers
- add_crons
- remove_crons
- start_all
- start_server
4.獲取客戶端 ip 和端口
const ip = session.__session__.__socket__.remoteAddress.ip
const port = session.__session__.__socket__.remoteAddress.port