Duplicates
Latest version
Current behavior 😯
Running vite preview on windows results in:
node:internal/modules/esm/load:195
throw new ERR_UNSUPPORTED_ESM_URL_SCHEME(parsed, schemes);
^
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:195:11)
at defaultLoadSync (node:internal/modules/esm/load:142:3)
at #loadAndMaybeBlockOnLoaderThread (node:internal/modules/esm/loader:795:12)
at #loadSync (node:internal/modules/esm/loader:815:49)
at ModuleLoader.load (node:internal/modules/esm/loader:780:26)
at ModuleLoader.loadAndTranslate (node:internal/modules/esm/loader:526:31)
at #getOrCreateModuleJobAfterResolve (node:internal/modules/esm/loader:571:36)
at afterResolve (node:internal/modules/esm/loader:624:52)
at ModuleLoader.getOrCreateModuleJob (node:internal/modules/esm/loader:630:12)
at onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:649:32) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
Node.js v24.13.0
ELIFECYCLE Command failed with exit code 1.
Does not happen on vite dev.
This seems like a windows only problem.
Expected behavior 🤔
No error should be present.
Steps to reproduce 🕹
Steps:
- vite build
- vite preview
- load the site
- check console (not the browser one)
Context 🔦
patch:
diff --git a/dist/config/dev-server.js b/dist/config/dev-server.js
index ab966eadf274b4fac10beaf9bdd983da2ebe93f6..4ee117c064b1979b2de87eae629c1932fc6be659 100644
--- a/dist/config/dev-server.js
+++ b/dist/config/dev-server.js
@@ -1,4 +1,5 @@
import { NodeRequest, sendNodeResponse } from "srvx/node";
+import { pathToFileURL } from "url";
import { isRunnableDevEnvironment, } from "vite";
import { VITE_ENVIRONMENTS } from "./constants.js";
export function devServer() {
@@ -10,7 +11,7 @@ export function devServer() {
server.middlewares.use(async (req, res) => {
res.setHeader("content-encoding", "identity");
const webReq = new NodeRequest({ req, res });
- const def = await import(process.cwd() + "/dist/server/entry-server.js");
+ const def = await import(pathToFileURL(process.cwd() + "/dist/server/entry-server.js").href);
sendNodeResponse(res, await def.default.fetch(webReq));
});
};
Your environment 🌎
Duplicates
Latest version
Current behavior 😯
Running vite preview on windows results in:
Does not happen on vite dev.
This seems like a windows only problem.
Expected behavior 🤔
No error should be present.
Steps to reproduce 🕹
Steps:
Context 🔦
patch:
Your environment 🌎