我在我正在开发的 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 对于问题来说太长了。
如果我需要提供更多片段或文件,请告诉我。:)