doc: clarify fallback behavior of module require

PR-URL: https://github.com/nodejs/node/pull/22494
Fixes: https://github.com/nodejs/node/issues/22464
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: George Adams <george.adams@uk.ibm.com>
This commit is contained in:
TomCoded 2018-08-22 16:28:18 -07:00 committed by Anna Henningsen
parent 208022cb31
commit 594dd4242b
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9

View File

@ -352,15 +352,8 @@ If this was in a folder at `./some-library`, then
This is the extent of Node.js's awareness of `package.json` files.
If the file specified by the `'main'` entry of `package.json` is missing and
can not be resolved, Node.js will report the entire module as missing with the
default error:
```txt
Error: Cannot find module 'some-library'
```
If there is no `package.json` file present in the directory, then Node.js
If there is no `package.json` file present in the directory, or if the
`'main'` entry is missing or cannot be resolved, then Node.js
will attempt to load an `index.js` or `index.node` file out of that
directory. For example, if there was no `package.json` file in the above
example, then `require('./some-library')` would attempt to load:
@ -368,6 +361,13 @@ example, then `require('./some-library')` would attempt to load:
* `./some-library/index.js`
* `./some-library/index.node`
If these attempts fail, then Node.js will report the entire module as missing
with the default error:
```txt
Error: Cannot find module 'some-library'
```
## Loading from `node_modules` Folders
<!--type=misc-->