From 42c0dfcc234a75f1ce5a9405c531c012ac3d85f6 Mon Sep 17 00:00:00 2001 From: Bradley Farias Date: Wed, 30 Sep 2020 15:57:08 -0500 Subject: [PATCH] doc: importable node protocol URLs PR-URL: https://github.com/nodejs/node/pull/35434 Reviewed-By: Myles Borins Reviewed-By: Matteo Collina Reviewed-By: James M Snell Reviewed-By: Jan Krems --- doc/api/esm.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/api/esm.md b/doc/api/esm.md index 320f94482ee415..ed4e6482bf9504 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -125,13 +125,27 @@ There are four types of specifiers: Bare specifiers, and the bare specifier portion of deep import specifiers, are strings; but everything else in a specifier is a URL. -Only `file:` and `data:` URLs are supported. A specifier like +`file:`, `node:`, and `data:` URLs are supported. A specifier like `'https://example.com/app.js'` may be supported by browsers but it is not supported in Node.js. Specifiers may not begin with `/` or `//`. These are reserved for potential future use. The root of the current volume may be referenced via `file:///`. +#### `node:` Imports + + + +`node:` URLs are supported as a means to load Node.js builtin modules. This +URL scheme allows for builtin modules to be referenced by valid absolute URL +strings. + +```js +import fs from 'node:fs/promises'; +``` + #### `data:` Imports