[英]Node.js: require() and passing variables
使用 npm 啟動了一個項目,該項目創建了特定的文件結構:
www <-- require() 調用 app.js; 實例化服務器
app.js <-- 實例化 var app = express(); 並且有 module.exports = app;
現在,我想使用 sockets.io。 在我的“www”文件中,這是一個代碼片段:
var app = require('../app'); ... var server = http.createServer(app);
我想把我所有的服務器端套接字監聽器放在 app.js 中,但是下面的代碼:
var io = require('socket.io').listen(server);
需要服務器作為輸入。 如何使我在“www”中實例化的服務器可在“app.js”中訪問?
好像有點奇怪。 但是,如果您堅持這樣的結構,那么您可以從www
導出一個對象,該對象將具有app
作為它的屬性和一個綁定套接字偵聽器並接收app
對象作為參數的方法。
module.exports = {
app: app,
bindSocketListeners: function(server, io) {
io.listen(server);
return io;
}
};
並稱之為:
var appObj = require('../app');
var io = require('socket.io');
var app = appObj.app;
var server = http.createServer(app);
io = appObj.bindSocketListeners(server, io)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.