0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00

Documenting require.main, fixing #997

This commit is contained in:
Trevor Burnham 2011-05-01 14:03:08 -04:00 committed by isaacs
parent 1ba2c32135
commit f46811633c

View File

@ -330,6 +330,21 @@ Because `module` provides a `filename` property (normally equivalent to
`__filename`), the entry point of the current application can be obtained
by checking `require.main.filename`.
### Accessing the main module
When a file is run directly from Node, `require.main` is set to its
`module`. That means that you can determine whether a file has been run
directly by testing
require.main === module
For a file `foo.js`, this will be `true` if run via `node foo.js`, but
`false` if run by `require('./foo')`.
Because `module` provides a `filename` property (normally equivalent to
`__filename`), the entry point of the current application can be obtained
by checking `require.main.filename`.
## Addenda: Package Manager Tips
The semantics of Node's `require()` function were designed to be general