我想输入诸如
之类的代码app.use("/localAssets", express.static(__dirname + '/localAssets'));
app.use("/scripts", express.static(__dirname + '/scripts'));
在另一个文件中,现在它位于主服务器文件中,但我不喜欢这样。我也不喜欢所有 scoket 事件处理也在主服务器文件中。
即
function onSocketConnection(client) {
//player connected
// Listen for client disconnected
client.on("disconnect", onClientDisconnect);
client.on('sendMessage', function (data) {
this.broadcast.emit('message', data);
this.emit('message', { text: data.text});
});
// Listen for new player message
client.on("new player", onNewPlayer);
// Listen for move player message
client.on("move player", onMovePlayer);
client.on("update health", onUpdateHealth);
client.on("attack hits", onHitByAttack);
client.on("meteor cast", onMeteorCast)
};
function onClientDisconnect() {
...
}
请多多指教!
这是我要整理的完整文件:
最佳答案
只需将您想要的任何内容放入函数内的不同文件中,如下所示:
module.exports = function() {
// your code here
};
然后 require 并调用该函数,传入它可能需要的任何引用,例如 app
:
// my-file.js
module.exports = function(app) {
// your code here
};
// index.js
require('./path/to/my-file')(app);
以下是将路由移至另一个文件的基本示例:
// index.js
require('./path/to/some-routes')(app);
// some-routes.js
module.exports = function(app) {
app.get('/foo', function(req, res) {
res.send('Hi! This is foo.');
});
app.get('/bar', function(req, res) {
res.send('Hi! This is bar.');
});
app.get('/:me', function(req, res) {
res.send('Hi! This is '+req.params.me);
});
};
关于javascript - 如何将此 Node 代码分解为不同的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26987750/