what does var io = require('../..')(server) do?

express, node.js, requirejs, socket.io-1.0

Solution

When a path to a directory is given to `require`, it will implicitly look for an `index.js` in that directory.

In this case, it's the equivalent of

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

In the example provided, they're just using some shorthand and throw away the intermediate value returned by the call to `require`.

Check out the module.require docs for more info.

Problem

I've build the project https://github.com/Automattic/socket.io/tree/master/examples/chat locally and it is working great. However, it would be nice to understand a little more about how a socket application works. In the main startup script one of the modules that is pulled in with require is ``` var io = require('../..')(server) ``` what does require('../..') do? thanks!

Original source

Related problems