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/wwwfile, termasuk vars tersebut (konten file www: http://jsfiddle.net/avMa5/ )
var server = app.listen(app.get('port'), function() {..}
(periksa npm install -g express-generatorkemudianexpress 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 wwwfile.
Saya kira ini hanya sintaks dasar, tetapi saya tidak bisa membuatnya berfungsi, bahkan tidak menggunakan module.exports = serveratau server.exports = servertidak 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 appberada.