从feathersjs中的app.js中分离socket.io逻辑

时间:2015-11-15 05:02:34

标签: node.js socket.io feathersjs

我目前在app.js文件中的socket.io配置中有以下内容:

app
.configure(feathers.socketio(function(io){
    io.on('connection', function(socket){
        socket.emit('connect',{test: 'wow'});
        socket.on('createRecord', function(socket){
            analytics.service('record').create({type: socket.name, user: socket.interest}, function(error, user){
            });
        })
    })

}))

以上工作正常,但有没有办法将socket.io逻辑与app.js分开,因为随着我继续添加更多的emit和on方法,它会变得非常大。我知道这可以通过将套接字对象作为参数传递到另一个文件中的模块并从那里使用它来完成。但是,我不知道如何在羽毛中继续进行。

1 个答案:

答案 0 :(得分:3)

如果我理解你正确提取

module.exports = feathers.socketio(function(io){
    io.on('connection', function(socket){
        socket.emit('connect',{test: 'wow'});
        socket.on('createRecord', function(socket){
            analytics.service('record').create({type: socket.name, user: socket.interest}, function(error, user){
            });
        })
    })

})

./socketsConfig

var socketsConfig = require('./socketsConfig')
app.configure(socketsConfig);

将完成这项工作。