From 2bec61e1f86b067e35859c39f344babf7c1e9f7f Mon Sep 17 00:00:00 2001 From: lulzmachine Date: Thu, 12 Mar 2020 21:32:48 +0100 Subject: [PATCH] Update esm.md Update es module documentation in accordance to https://github.com/nodejs/node/issues/31710 by providing a gotcha for windows users --- doc/api/esm.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/doc/api/esm.md b/doc/api/esm.md index 60c0a6f286c0ec..ef67c2049f5f5c 100644 --- a/doc/api/esm.md +++ b/doc/api/esm.md @@ -801,6 +801,18 @@ property: ## Differences Between ES Modules and CommonJS +### Absolute file paths don't work on Windows + +Note that `import` accepts _absolute specifiers_. These are similar to _absolute paths_ on linux and MacOS, and therefore they are also accepted. But on Windows, importing an _absolute path_ to a file will not work. Therefore, to ensure cross platform compatibility, be sure to turn your file paths into urls, like so: + +``` +import { pathToFileURL } from 'url'; + +const fileUrl = pathToFileURL(...your path here...).href; + +await import(fileUrl) +``` + ### Mandatory file extensions A file extension must be provided when using the `import` keyword. Directory