Skip to content

Commit

Permalink
doc: small clarifications to modules.markdown
Browse files Browse the repository at this point in the history
per: nodejs/node-v0.x-archive#8708

A modified version of the original PR submitted by @builtbylane.

Reviewed By: Sakthipriyan Vairamani <[email protected]>
PR-URL: #2378
  • Loading branch information
jasnell committed Aug 26, 2015
1 parent 4215d28 commit dc27ff4
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions doc/api/modules.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,12 @@ plan accordingly.
Node.js has several modules compiled into the binary. These modules are
described in greater detail elsewhere in this documentation.

<<<<<<< HEAD
The core modules are defined in Node.js's source in the `lib/` folder.
=======
The core modules are defined within io.js's source and are located in the
`lib/` folder.
>>>>>>> doc: small clarifications to modules.markdown
Core modules are always preferentially loaded if their identifier is
passed to `require()`. For instance, `require('http')` will always
Expand All @@ -130,23 +135,29 @@ return the built in HTTP module, even if there is a file by that name.

<!--type=misc-->

<<<<<<< HEAD
If the exact filename is not found, then Node.js will attempt to load the
required filename with the added extension of `.js`, `.json`, and then `.node`.
=======
If the exact filename is not found, then io.js will attempt to load the
required filename with the added extensions: `.js`, `.json`, and finally
`.node`.
>>>>>>> doc: small clarifications to modules.markdown
`.js` files are interpreted as JavaScript text files, and `.json` files are
parsed as JSON text files. `.node` files are interpreted as compiled addon
modules loaded with `dlopen`.

A module prefixed with `'/'` is an absolute path to the file. For
A required module prefixed with `'/'` is an absolute path to the file. For
example, `require('/home/marco/foo.js')` will load the file at
`/home/marco/foo.js`.

A module prefixed with `'./'` is relative to the file calling `require()`.
That is, `circle.js` must be in the same directory as `foo.js` for
A required module prefixed with `'./'` is relative to the file calling
`require()`. That is, `circle.js` must be in the same directory as `foo.js` for
`require('./circle')` to find it.

Without a leading '/', './', or '../' to indicate a file, the module is either a
core module or is loaded from a `node_modules` folder.
Without a leading '/', './', or '../' to indicate a file, the module must
either be a core module or is loaded from a `node_modules` folder.

If the given path does not exist, `require()` will throw an Error with its
`code` property set to `'MODULE_NOT_FOUND'`.
Expand Down

0 comments on commit dc27ff4

Please sign in to comment.