Jadi inilah kesepakatannya: Saya mencoba menggunakan socket.io dalam proyek ekspres. Setelah Express Js 4 diluncurkan, saya telah memperbarui generator ekspres saya dan sekarang fungsi awal aplikasi masuk ke dalam ./bin/www
file, termasuk vars tersebut (konten file www: http://jsfiddle.net/avMa5/ )
var server = app.listen(app.get('port'), function() {..}
(periksa npm install -g express-generator
kemudianexpress myApp
Karena itu, mari kita ingat bagaimana dokumen socket.io meminta kita untuk memecatnya:
var app = require('express').createServer();
var io = require('socket.io')(app);
Oke, tapi saya tidak bisa melakukannya di dalam app.js, seperti yang direkomendasikan. Ini harus dilakukan di ./bin/www agar berfungsi. di ./bin/www inilah yang dapat saya lakukan untuk membuatnya berfungsi:
var io = require('socket.io')(server)
Ok ini berfungsi, tetapi saya tidak dapat menggunakan io var di tempat lain, dan saya benar-benar tidak ingin menempatkan fungsi socket.io saya pada www
file.
Saya kira ini hanya sintaks dasar, tetapi saya tidak bisa membuatnya berfungsi, bahkan tidak menggunakan module.exports = server
atau server.exports = server
tidak module.exports.io = app(io)
pada file www
Jadi pertanyaannya adalah: bagaimana saya bisa menggunakan socket.io yang memiliki file / bin / www ini sebagai titik awal aplikasi saya?
./bin/www.
. Letakkan saja di tempat yang sama, di mana Andavar app
berada.