Skip to content

Commit 795f32b

Browse files
Ajay-2005aduh95
authored andcommitted
doc: highlight module loading difference between import and require
PR-URL: #59815 Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
1 parent 2127754 commit 795f32b

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

doc/api/esm.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,12 @@ syncBuiltinESMExports();
332332
fs.readFileSync === readFileSync;
333333
```
334334

335+
> When importing built-in modules, all the named exports (i.e. properties of the module exports object)
336+
> are populated even if they are not individually accessed.
337+
> This can make initial imports of built-in modules slightly slower compared to loading them with
338+
> `require()` or `process.getBuiltinModule()`, where the module exports object is evaluated immediately,
339+
> but some of its properties may only be initialized when first accessed individually.
340+
335341
## `import()` expressions
336342

337343
[Dynamic `import()`][] provides an asynchronous way to import modules. It is

0 commit comments

Comments
 (0)