2014-07-10 70 views
4

我在本地構建了項目https://github.com/Automattic/socket.io/tree/master/examples/chat,它工作得很好。但是,更好地瞭解套接字應用程序的工作方式會更好。var io = require('../ ..')(server)是做什麼的?

在主啓動腳本與拉在模塊中的一個要求是

var io = require('../..')(server) 

什麼要求(「../ ..」)呢?

謝謝!

+0

[此問題](http://stackoverflow.com/questions/9475792/how-does-require-in-node-js-work)有幾個關於需求的資源鏈接。 – Cid1025

回答

7

當指向目錄的路徑給予require時,它將隱式地在該目錄中查找index.js

在這種情況下,它的

var socket = require("../../index.js"); 
var io  = socket(server); 

相當於在提供的例子,他們只是使用一些速記和扔掉通過調用返回到require中間值。

查看module.require docs瞭解更多信息。

+1

我不明白爲什麼我們需要index.js。我們在index.js裏面。 –

0

在這裏,你的代碼

要求( '../ ..');

將添加文件形式的路徑,它已使用SOCKET.IO,因爲你可以看到你沒有添加Socket.io模塊。

而且,如果沒有具體的路徑給出了文件或文件夾,模塊需要將嘗試加載index.jsindex.node。如果沒有這樣的文件存在,那麼它會給出錯誤。

相關問題