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