Does Node run all the code in the required modules?


Are node modules run when they are required?

For example: You have a file foo.js that contains some code and some exports.

When I import the file by running the following code

var foo = require(./foo.js);

is all the code inside the file foo.js run and only exported after that?

Only in the sense that any other JS code is run when loaded.

e.g. a function definition in the main body of the module will be run and create a function, but that function won't be called until some other code actually calls it.