在 feathersjs 中将 socket.io 逻辑与 app.js 分开
Separating socket.io logic from app.js in 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 方法,它会变得非常大。我知道这可以通过将套接字对象作为参数传递给另一个文件中的模块并从那里使用它来完成。但是,我不确定如何在 feathersjs 中进行处理。
如果我理解你正确提取
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);
会完成这项工作。
目前我的 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 方法,它会变得非常大。我知道这可以通过将套接字对象作为参数传递给另一个文件中的模块并从那里使用它来完成。但是,我不确定如何在 feathersjs 中进行处理。
如果我理解你正确提取
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);
会完成这项工作。