तो यहाँ सौदा है: मैं एक एक्सप्रेस परियोजना में socket.io का उपयोग करने की कोशिश कर रहा हूं। एक्सप्रेस Js 4 की सराहना की जाने के बाद, मैंने अपने एक्सप्रेस-जनरेटर को अपडेट कर दिया है और अब ऐप प्रारंभिक कार्य ./bin/wwwफ़ाइल में चला जाता है, जिसमें उन vars (www फ़ाइल सामग्री: http://jsfiddle.net/avMa5/ ) शामिल हैं।
var server = app.listen(app.get('port'), function() {..}
(इसके द्वारा npm install -g express-generatorऔर फिर जाँच करेंexpress myApp
कहा जा रहा है, चलो याद रखें कि कैसे सॉकेट.ओओ डॉक्स हमें इसे फायर करने के लिए कहते हैं:
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 का उपयोग नहीं कर सकता, और मैं वास्तव में wwwफ़ाइल पर अपने सॉकेट.आईओ कार्यों को नहीं डालना चाहता हूं ।
मुझे लगता है कि यह सिर्फ मूल सिंटैक्स है, लेकिन मुझे यह काम करने के लिए नहीं मिल सकता है, यहां तक कि www फ़ाइल का उपयोग module.exports = serverया server.exports = serverन हीmodule.exports.io = app(io)
तो सवाल यह है: मैं अपने ऐप के शुरुआती बिंदु के रूप में इस / बिन / www फ़ाइल वाले सॉकेट का उपयोग कैसे कर सकता हूं?
./bin/www.। बस इसे उसी जगह पर रखें, जहां आपकाvar appहै।