Node.js: SyntaxError: Cannot use import statement outside a module

I am getting this error SyntaxError: Cannot use import statement outside a module when trying to import from another javascript file. This is the first time I’m trying something like this. The main file is main.js and the module file is mod.js.

main.js:

import * as myModule from "mod";
myModule.func();

mod.js:

export function func(){
    console.log("Hello World");
}

How can I fix this? Thanks

Answer

In order to use the import syntax (ESModules), you need to add the following to your package.json at the top level:

{
    // ...
    "type": "module"
}

If you are using a version of Node earlier than 13, you additionally need to use the --experimental-modules flag when you run the program:

node --experimental-modules program.js

Hope it helps!

Attribution
Source : Link , Question Author : Serket , Answer Author : Tim Trayler

Leave a Comment