fastify-autoload: error with esm on windows
I was following @mcollina tutorial for Fastify, and I faced with an error related to fastify-autoload plugin:
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:781:11)
at Loader.resolve (internal/modules/esm/loader.js:85:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:229:28)
at Loader.import (internal/modules/esm/loader.js:164:28)
at importModuleDynamically (internal/modules/cjs/loader.js:1199:27)
at exports.importModuleDynamicallyCallback (internal/process/esm_loader.js:30:14)
at loadPlugin (C:\Users\amis\Desktop\fastify3-test\node_modules\fastify-autoload\index.js:117:5)
at C:\Users\amis\Desktop\fastify3-test\node_modules\fastify-autoload\index.js:27:12
at Array.map (<anonymous>)
at fastifyAutoload (C:\Users\amis\Desktop\fastify3-test\node_modules\fastify-autoload\index.js:26:29) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
I’m running Node v14.7.0 on Windows 10. This is how the app looks like:
app.js
import fastify from 'fastify'
import autoload from 'fastify-autoload'
import { join } from 'desm'
export default function (opts) {
const app = fastify(opts)
app.register(autoload, {
dir: join(import.meta.url, 'routes')
})
return app
}
/routes/hello.js
export default async function (app) {
app.get('/', async function (req, rep) {
return { hello: 'world' }
})
}
About this issue
- Original URL
- State: closed
- Created 4 years ago
- Comments: 25 (25 by maintainers)
Commits related to this issue
- Fixed "error with esm on windows #98" issue — committed to amis-shokoohi/fastify-autoload by deleted user 4 years ago
- Fixed "error with esm on windows #98" issue — committed to amis-shokoohi/fastify-autoload by deleted user 4 years ago
- Fixed "error with esm on windows #98" issue (#99) — committed to fastify/fastify-autoload by deleted user 4 years ago
@StarpTech can you open an issue on node core on this and tag me on it? Thanks. This is very confusing.
Because in Linux a path is a valid file URL? 🤔
Unfortunately I do not know how to fix this. I’m moving this to fastify-autoload as a bug.
I might need some help from a Windows users here… maybe @StarpTech or @Ethan-Arrowood?