我已經花了整整一天的時間在我的第一個應用程序中使用了帶有Node和Express的socket.io,我似乎無法在客戶端找到我的socket.io.js
文件。我已閱讀過許多關於此問題的SO問題和其他論壇,但似乎無法讓我使用任何推薦的解決方案。在客戶端包含Socket.io
我已經成功安裝了express和socket.io,並且在服務器端一切都正常工作(目前只是使用Twitter Stream Api工作)。現在我想在客戶端使用來自emit
的數據,我需要包含我的套接字文件。
我已經將HoganJS設置爲我的視圖引擎。
這裏是我的app.js
文件的摘錄:
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hjs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('less-middleware')({ src: path.join(__dirname, 'public') }));
app.use(express.static(path.join(__dirname, 'public')));
我有一個名爲index.js
另一個文件,該文件是我的Twitter和插座代碼,這是我需要的行:
var twitter = require('ntwitter');
var io = require('socket.io').listen(3001, {log: false});
// all my twitter setup/functions etc here
io.sockets.emit('tweets' ,data);
現在在客戶端,我嘗試了所有可能的途徑,包括:
<script src="localhost:3000/socket.io/socket.io.js"></script>
<script src="socket.io/socket.io.js"></script>
還有很多其他途徑試圖找出如何正確鏈接它。如果這是顯而易見的或在其他地方回答,我非常抱歉,但我找不到它。
根據chrome開發工具,我可以在404中找到任何結果。
非常感謝!
你說的腳本SRC .js文件是那些404?如果是這樣,你嘗試了一個空白的HTML文件,只有這些行,看看你是否得到相同的錯誤? – acutesoftware