I'm developing an application with node.js and socket.io. I have built a small-scale project with some variables and functions inside a connection-specific block. These functions have access to the variables declared within that block without the need to pass the values in specifically.

This works fine, and is acceptable for a project of this size. However, as I was trying to clean the code up a bit, I looked into factoring those functions out into their own file and found modules declared by using exports.functionname as described here: <http://nodejs.org/docs/v0.3.2/api/modules.html>

However, these functions do not have access to the variables within the same block as they normally do when being require()'d in instead of actually being declared in the file.

Is there some way to make functions in an external file behave as if they were declared locally in nodejs?