I am getting an error when trying to import a local file, though no problem when using npm packages.
server.js
JavaScript
x
5
1
import express from 'express'
2
import next from 'next'
3
4
import apis from './src/server/api'
5
api.js
JavaScript
1
5
1
export default {
2
ello: 'bye',
3
jamie: 'hey'
4
}
5
Starting app
JavaScript
1
2
1
node --experimental-modules --inspect server.js
2
Error
JavaScript
1
15
15
1
For help, see: https://nodejs.org/en/docs/inspector
2
(node:20153) ExperimentalWarning: The ESM module loader is experimental.
3
internal/modules/esm/default_resolve.js:59
4
let url = moduleWrapResolve(specifier, parentURL);
5
^
6
7
Error: Cannot find module '/var/www/goldendemon.hutber.com/src/server/api' imported from /var/www/goldendemon.hutber.com/server.js
8
at Loader.resolve [as _resolve] (internal/modules/esm/default_resolve.js:59:13)
9
at Loader.resolve (internal/modules/esm/loader.js:70:33)
10
at Loader.getModuleJob (internal/modules/esm/loader.js:143:40)
11
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:43:40)
12
at link (internal/modules/esm/module_job.js:42:36) {
13
code: 'ERR_MODULE_NOT_FOUND'
14
}
15
Advertisement
Answer
I’m answering my own question if anybody else has this problem.
It turns out in experimental mode you need to define the full path with extension. So I am trying to import index.js
thinking it will know.
To fix it:
JavaScript
1
4
1
import express from 'express'
2
import next from 'next'
3
import api from './src/server/api/index.js'
4