html-express-js
html-express-js copied to clipboard
ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows
Hi,
I was getting the below error on my Windows machine.
node:internal/errors:484
ErrorCaptureStackTrace(err);
^
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
at new NodeError (node:internal/errors:393:5)
at throwIfUnsupportedURLScheme (node:internal/modules/esm/resolve:989:11)
at defaultResolve (node:internal/modules/esm/resolve:1069:3)
at nextResolve (node:internal/modules/esm/loader:161:28)
at ESMLoader.resolve (node:internal/modules/esm/loader:831:30)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:413:18)
at ESMLoader.import (node:internal/modules/esm/loader:514:22)
at importModuleDynamically (node:internal/modules/esm/translators:110:35)
at importModuleDynamicallyCallback (node:internal/process/esm_loader:36:14)
at renderHtmlFileTemplate (file:///C:/Users/***/OneDrive/Desktop/workspace/testServer/node_modules/html-express-js/src/index.js:21:20) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
Node.js v19.2.0
Here is the diff that solved my problem:
diff --git a/node_modules/html-express-js/src/index.js b/node_modules/html-express-js/src/index.js
index 9d06c5c..954db82 100644
--- a/node_modules/html-express-js/src/index.js
+++ b/node_modules/html-express-js/src/index.js
@@ -15,6 +15,9 @@ const glob = promisify(g);
* @returns {Promise<string>} HTML
*/
async function renderHtmlFileTemplate(path, data, state) {
+ if(!path.startsWith('file:///')) {
+ path = 'file:///'+path;
+ }
const { view } = await import(path);
const rendered = view(data, state);
let html = '';
This issue body was partially generated by patch-package.