diff --git a/doc/api/single-executable-applications.md b/doc/api/single-executable-applications.md index 6f35f28d4b9d..3994c9b3ba37 100644 --- a/doc/api/single-executable-applications.md +++ b/doc/api/single-executable-applications.md @@ -325,12 +325,14 @@ implementation, not a technical impossibility. Consider bundling the application if startup performance matters and do not rely on module loading from the VFS in that case. -#### Native addon limitations - -Native addons (`.node` files) cannot be loaded directly from the VFS because -`process.dlopen()` requires files on the real file system. To use native -addons in a SEA with VFS, write the asset to a temporary file first. See -[Using native addons in the injected main script][] for an example. +#### Native addons + +Native addons (`.node` files) bundled as assets can be loaded from the VFS +with `require()` or `process.dlopen()`. The operating system's dynamic loader +cannot open a virtual path, so the addon is loaded from a private, +self-cleaning temporary image instead. See [module loader integration][] for +details. Without `useVfs`, see +[Using native addons in the injected main script][]. ### Startup snapshot support