0
我有一個基於express的應用程序。我有一個啓動應用程序的app.js和一個functions.js,我已經存儲了很多應用程序的功能。我想能夠訪問我的functions.js中使用的socket.io對象。但是,似乎我無法做到這一點,也無法在互聯網上找到任何解決方案。訪問app.js中的io對象
app.js:
var app = express(); //var app = express.createServer(); var http = require('http').createServer(app).listen(3001); var io = require('socket.io')(http);
functions.js:
//something like io = require('./app').io
我希望能夠訪問IO對象,所以我可以發出郵件到我的客戶端的JavaScript 。
感謝您的回答。問題是,我必須從app.js 'module.exports = app'中導出應用程序,以便使'npm start'工作。我嘗試更改www文件,以便我能夠導出不僅僅是應用程序,但我沒有運氣。我不確定該從哪裏出發。或者如果npm start值得使用? – 2015-01-26 20:31:44
你可以在'app'對象上添加'io'作爲屬性。檢查我編輯的答案。 – influxd 2015-01-26 20:46:03
好的,我有: app.js: 'var io = require('socket.io')(http); app.io = io; module.exports = app;' and functions.js: 'var io = require('./ app')。io; ('連接',函數(套接字){ console.log('user connected'); });' 但我得到以下錯誤:**無法調用未定義的方法' * – 2015-01-26 21:08:50