io.connect(); 没有初始化,node.js
我正在使用http://code.tutsplus.com/tutorials/node-js-better-performance-with-socket-io-and-dot--net-35076
这个指南帮助我的项目…
我的index.js是
var express = require('express'); //var dot = require('dot').template; //var fs = require('fs'); var sio = require('socket.io'); var app = express(); var server = require('http').createServer(app); var io = require('socket.io').listen(server); server.listen(8080); var posts = [ { avatar: 'av1.gif', author: 'Jane Doe', text: 'Lorem ipsum ' }, { avatar: 'av2.png', author: 'John Doe', text: 'Nam interdum'}, { avatar: 'av3.jpg', author: 'Jeffrey Doe', text: 'Ineger at.' } ]; app.use(express.static('./static')); app.use(express.bodyParser()); //var postTemplate = dot(fs.readFileSync('./post.dot')); app.get('/getpost', function (req, res) { res.end(postTemplate(posts[Math.floor(Math.random() * 3)])); });
我的main.js文件是
var postTemplate = function (it) { var out='<div class="post"><div class="some-fblike-nested-div-one"><div class="some-another-nested-div"><div class="nested-div-for-avatar another-long-class"><img src="'+( it.avatar )+'"></div><div class="one-more-div-for-text-here with-some-long classes-to-format-it"><p><span class="author-also-wants-to have-some-fancy-span"><b>'+( it.author )+'</b>:<br></span>'+( it.text )+'</p></div></div></div></div>';return out; } var socket = io.connect(); $(function () { $('button').on('click', function () { socket.emit('getpost'); }); }); socket.on('getpost', function (data) { $('button').after(postTemplate(data)); });
问题是main.js中的函数
var socket = io.connect();
是从来没有工作,,,,和浏览器的控制台上的错误是Uncaught ReferenceError: io is not defined
…任何帮助是可以理解的…请
你是否在你的页面/响应中包含了socket.io脚本?
<script src="/socket.io/socket.io.js"></script>
这是浏览器使用socket.io-client API连接到socket.io服务器所必需的。