作業中のNode.jsアプリのクライアント側コードで問題が発生しました。
この背後にある考え方は、ソケットがイベントを受信するとすぐにブラウザを更新することです。
これは、クライアント側のスクリプトブロックです。
script(src='/scripts/jadeTemplate.js')
script(src='/socket.io/socket.io.js')
script(type='text/javascript')
var socket = io.connect();
socket.on('obj', function(obj) {
var newsItem = document.createElement("item");
jade.render(newsItem, 'objTemplate', { object: obj });
$('#newsfeed').prepend(newsItem);
alert(obj);
});
のalert()
前に配置するjade.render()
とアラートが発生しますが、後に挿入すると実行されません(したがって、の問題だと思いますjade.render()
)。
これはobjTemplate.jadeで、7行目で参照されています。
p #{object}
// That's it.
そして、これはapp.jsからの関連スニペットです:
var server = dgram.createSocket('udp4');
server.bind(41234);
server.on('message', function(buf, rinfo) {
isOnline = true;
var message = buf.toString();
io.sockets.emit('obj', message);
});
アップデート:
これはへのリンク/public/scripts/jadeTemplate.js
です。IMOは質問のスニペットとしては長すぎます。
さらにスニペットまたはファイルを提供する必要がある場合は、お知らせください。:)