簡體   English   中英

Node.js:require() 和傳遞變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM