我正在使用Hapi。
我还使用NES客户端连接到另一个节点实例。为了从路由访问此套接字,我将其附加到服务器变量,如下所示:
s=df.groupby(['Zone','Code']).Value.transform('mean')
df['Mean Value grouped by zone and code']=s.groupby([df['Zone'],df['Code']]).head(1)
df['Mean Value grouped by zone and code'].fillna('',inplace=True)
df
Out[268]:
Zone Code Value Mean Value grouped by zone and code
0 Dhk Z1 2 3
1 Dhk Z1 4
2 Dhk Z2 6 7
3 Dhk Z2 8
4 Raj Z1 8 9
5 Raj Z1 10
6 Raj Z2 12 13
7 Raj Z2 14
我想从库文件访问套接字。如何做到这一点而不必每次都将服务器变量传递给它?当我尝试exports = async () => {
//api
var server = new Hapi.Server({
host: process.env.WEB_HOST || '127.0.0.1',
port: process.env.WEB_PORT || '8080'
});
// register plugins
await server.register(plugins);
// add routes
await routes(server);
server.socket = new Socket(identifier); // uses NES
return server;
}
服务器时,它从不提供引用,只是导出变量时的一个版本。
答案 0 :(得分:0)
您是否尝试过server.decorate。 如果我理解正确,您想从路由访问套接字变量。为什么不创建基本插件并创建您的套接字实例,然后将其传递到服务器对象呢?例如;
exports.plugin = {
async register(server, options) {
server.decorate('server', 'socketConn', new Socket(identifier));
},
name: 'socket-connection'
};
,并且可以在您的路线中以request.server.socketConn
的形式访问此变量。