그래서 여기에 거래가 있습니다 : 나는 익스프레스 프로젝트에서 socket.io를 사용하려고합니다. Express Js 4가 출시 된 후 Express 생성기를 업데이트했으며 이제 ./bin/www
해당 변수를 포함한 앱 초기 기능이 파일에 저장됩니다 (www 파일 콘텐츠 : http://jsfiddle.net/avMa5/ ).
var server = app.listen(app.get('port'), function() {..}
(확인 npm install -g express-generator
후express myApp
즉, socket.io 문서가 어떻게 실행하도록 요청했는지 기억합시다.
var app = require('express').createServer();
var io = require('socket.io')(app);
좋아,하지만 추천처럼 app.js 내에서 할 수 없다. 작동하려면 ./bin/www에서 수행해야합니다. ./bin/www에서 이것이 작동하도록 할 수있는 일입니다.
var io = require('socket.io')(server)
좋아, 작동하지만 다른 곳에서는 io var를 사용할 수 없으며 실제로 socket.io 함수를 www
파일 에 넣고 싶지 않습니다 .
나는 이것이 기본적인 구문이라고 생각하지만 www 파일을 사용 module.exports = server
하거나 사용 server.exports = server
하지도 않고 작동하도록 할 수 없습니다.module.exports.io = app(io)
그래서 질문은 :이 / bin / www 파일을 내 앱의 시작점으로 갖는 socket.io를 어떻게 사용할 수 있습니까?
./bin/www.
. 당신var app
이 있는 같은 장소에 두십시오 .