In a Ruby program I wrote, I 'required' all the files and modules that I needed at the top of the 'entry point' file. eg:

```
#Sets an absolute path for wherever the program is run from
#this_file = __FILE__
#BASEDIR = File.expand_path(File.join(this_file, '..'))
this_file = __FILE__
this_file_folder_nav = File.join(this_file, '..')
BASEDIR = File.expand_path(this_file_folder_nav)

#Required Gems
require 'ap'
require 'docx'
require 'sanitize'
etc

#Required files
require_relative "lib/commodity/stories.rb"
require_relative 'lib/worldgrowth/worldgrowth.rb'
require_relative "lib/prices/prices.rb"
require_relative 'lib/prices/prices_module.rb'
etc

I can access all the classes defined in the files above. And I can access classes defined in the 'stories.rb' in pirces_module.rb. All the required gems are accessible in all the files

```

Question: Is this good practice? It seems very convenient to me and I'd like to do the same in node.js.

However, I'm finding that I'm having to write `var module = require('someModule')` on all the files that will use that module. If I have an entry point file for a node.js application, is it possible to do something similar to what I did in Ruby?