4

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!

Aaron
  • 2,450
  • 1
  • 17
  • 23
  • [This question](http://stackoverflow.com/questions/9475792/how-does-require-in-node-js-work) has a few links to resources about require. – Michael Barz Jul 10 '14 at 04:58

2 Answers2

8

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.

maček
  • 76,434
  • 37
  • 167
  • 198
0

Here, in your code

require('../..');

Will add File form the path, which have used SOCKET.IO, as you can see that you have not added Socket.io module.

Also, if no specific path give for file or folder, Module require will try to load index.js or index.node. if no such file exist then it will give error.

H. Mahida
  • 2,356
  • 1
  • 12
  • 23