2013-10-26 2 views
0

나는 node.express와 socket.io를 통합 한 첫 번째 앱을 하루 종일 보내고있어 클라이언트 쪽에서 내 socket.io.js 파일을 찾을 수 없습니다. 이 문제에 대한 많은 SO 질문 및 기타 포럼을 읽었지만 추천 솔루션을 사용하여 광산을 사용할 수없는 것으로 보입니다.클라이언트쪽에 Socket.io 포함하기

나는 express와 socket.io를 성공적으로 설치했으며 모든 것이 서버 측에서 잘 작동하고있다. (현재 방금 트위터 스트림 API를 사용하고있다.) 이제는 클라이언트 측에서 emit의 데이터를 사용하고자하므로 소켓 파일을 포함해야합니다.

내보기 엔진으로 HoganJS 설정이 있습니다.

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); 

이제 내 트위터와 소켓 코드이고, 여기 내 필요 라인입니다 I는 index.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'))); 

: 여기

app.js 파일에서 발췌 한 것입니다 클라이언트 측에서는 다음과 같이 생각할 수있는 모든 가능한 경로를 시도했습니다.

그리고 다른 많은 경로가 올바르게 링크하는 방법을 알아 내려고합니다. 이것이 명백하거나 다른 곳에서 답변을 받으면 대단히 유감 스럽지만 찾지 못했습니다.

모든 경로에서 크롬 개발 도구에 따라 404가 결과를 얻을 수 있습니다.

감사합니다.

+0

을하려고하면? 만약 그렇다면 그 라인들을 가지고있는 빈 HTML 파일을 시험해 보시고 동일한 오류가 발생하는지 확인하십시오. – acutesoftware

답변

1

당신은 포트 3001에 socket.io를 실행하는 가입일 :

<script src="http://localhost:3001/socket.io/socket.io.js"></script> 

그러나 당신은 또한 함께 동일한 포트에서 socket.io를 실행하고 표현할 수있다 : 당신이 파일이

var express = require('express'); 
var app  = express(); 
var server = app.listen(3000); 
var io  = require('socket.io').listen(server); 
+0

정말 고마워! 내가 그걸 놓쳤다는 것을 믿을 수 없어, 네가 생명의 은인 이구나. :) – Markydtt

0

확인 여부를 socket.io.js 여부 . node_modules -> socket.io -> socket.io.js

에서

검사 예 다음 스크립트 SRC의 .js 파일이들 (404)이있다 말하는이 경로

< script src="/socket.io/socket.io.js" > < /script>