Express.io、Express 4、およびいくつかのルーティングに苦労しており、あなたの助けが必要です!
ここに掲載されたコードは動作します。
私の問題は、ロジックを app.js からすべてのルート ファイル (つまり map.js) に分離したいということです。残念ながら、Express 4 と Router オブジェクトを使用した複数のルート ファイルとexpress.io の例をインターネット上で見つけることができません。
すぐに見て、それに対処する正しい方法を私に教えてもらえますか?
app.js
var express = require('express.io');
var app = express();
app.http().io();
// ...
var map = require('./routes/map');
app.use('/map', map);
app.io.route('ready', function(req) {
setInterval(function() {
req.io.emit('talk', {
message: 'Random greeting'
});
}, 500);
});
/routes/map.js (このファイルは標準の Express 4 モジュールを使用します)
var models = require('../models');
var path = require('path');
var express = require('express');
var router = express.Router();
router.get('/', function(req, res) {
res.sendfile(path.resolve(__dirname + '../../client/mapClient.html'), function(err) {
if(err) {
console.log(err);
}
});
});
module.exports = router;
mapClient.html
<script src="/socket.io/socket.io.js"></script>
<script>
io = io.connect()
// Emit ready event.
io.emit('ready')
// Listen for the talk event.
io.on('talk', function(data) {
// do something with data.message
})
</script>