doc: clarify module loading behavior

The module loading system will not append node_modules to a
path already ending in node_modules. This used to be documented,
but it was lost.

Fixes: https://github.com/nodejs/node/issues/3873
PR-URL: https://github.com/nodejs/node/pull/3920
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
This commit is contained in:
cjihrig 2015-11-19 12:05:47 -05:00
parent 5f3ed61094
commit 5900d14966

View File

@ -339,7 +339,8 @@ example, then `require('./some-library')` would attempt to load:
If the module identifier passed to `require()` is not a native module, If the module identifier passed to `require()` is not a native module,
and does not begin with `'/'`, `'../'`, or `'./'`, then Node.js starts at the and does not begin with `'/'`, `'../'`, or `'./'`, then Node.js starts at the
parent directory of the current module, and adds `/node_modules`, and parent directory of the current module, and adds `/node_modules`, and
attempts to load the module from that location. attempts to load the module from that location. Node will not append
`node_modules` to a path already ending in `node_modules`.
If it is not found there, then it moves to the parent directory, and so If it is not found there, then it moves to the parent directory, and so
on, until the root of the file system is reached. on, until the root of the file system is reached.