นี่คือข้อตกลง: ฉันกำลังพยายามใช้ socket.io ในโครงการด่วน หลังจากที่ Express Js 4 ถูก lauched ฉันได้อัปเดตโปรแกรมสร้างด่วนของฉันและตอนนี้ฟังก์ชั่นเริ่มต้นของแอพจะเข้าสู่./bin/www
ไฟล์รวมถึง vars เหล่านั้น (เนื้อหาไฟล์ 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
ไฟล์
ผมคิดว่านี่เป็นเพียงไวยากรณ์พื้นฐาน แต่ฉันไม่สามารถได้รับการทำงานไม่ได้ใช้module.exports = server
หรือserver.exports = server
มิได้module.exports.io = app(io)
ในไฟล์ www
คำถามคือ: ฉันจะใช้ socket.io ที่มีไฟล์ / bin / www นี้เป็นจุดเริ่มต้นของแอพได้อย่างไร?
./bin/www.
ต้องใส่นำเข้าใน เพียงวางไว้ที่เดิมที่ที่คุณvar app
อยู่