I have a file - test.js with these lines of code inside:
import {blabla} from "./bla";
async function dataGenerator() {
..........
}
(async() => {
console.log('1')
await dataGenerator()
console.log('2')
})()
Note: Ignore the import structure. is just fictive for the question. In my file the imports are auto.
When I'm trying to run from terminal with "node test.js" it returns error:
Cannot find module 'D:\bla' imported from D:\test.js
I have added into package the line: "type": "module". Without this it returns:
Cannot use import statement outside a module
I'm using node 14.
How can I run the test.js without adding to all the imports ".js". There are functions in functions in functions and is complicated to add .js extension. Is there any npm to run it?
Thank you!
Node.js by default does not attempt to guess the file extension when using import
for ES modules. This is different from CommonJS modules with require
.
In the documentation for the ES module loader you can read how files are found on disk.
The heading 'Customizing ESM specifier resolution algorithm' states:
The
--experimental-specifier-resolution=[mode]
flag can be used to customize the extension resolution algorithm. The default mode isexplicit
, which requires the full path to a module be provided to the loader. To enable the automatic extension resolution and importing from directories that include an index file use thenode
mode.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With