How To Fix “SyntaxError: Cannot Use Import Statement Outside A Module In NodeJs”?

If you are getting the “SyntaxError: Cannot Use Import Statement Outside A Module In NodeJs” error, then this post will help you solve the problem. Read on.

How Can You Fix “SyntaxError: Cannot Use Import Statement Outside A Module In NodeJs”?

While launching the index.js file, you may see the below error appear in your stack trace: 

SyntaxError: Cannot use import statement outside a module
Here is the Index.js file:
require('dotenv').config()
import {startServer} from './server'

Open the package.json file on your computer. Enter “module” in the top-level “type” box. Due to this, all .js or .mjs files will be processed as ES modules. Individual files with the .cjs suffix can be interpreted as CommonJS. Then, insert “type”: “module” to the higher level.

Method 1: In Your package.json, Include “type”: “module.” 

1. Open the package.json file.

2. Simply enter “module” in the top-level “type” box.

3. This will ensure that any file with either a .js or .mjs extension will be regarded as an ES module (provided they are named correctly, as explained below).

4. Individual files with the.cjs suffix can be interpreted as CommonJS.

In the higher level, insert “type”: “module” as seen here:
// package.json
{
  "name": "my-project",
  "version": "0.0.0",
  "type": "module",
  "scripts": { ...
  },
  ...
}

Method 2: Switch To commonjs As A Module.

If you’re having trouble using Typescript, simply switch:
"module": "esnext",

   to

 "module": "commonjs",

Method 3: Change The Extension of .js Files To .mjs.

1. Switch from .js files extension to .mjs

2. When launching your app, add the –experimental-modules option.

3. Insert “type”: “module” to your package.json as an option

Conclusion

We hope you found our blog article on ways to fix the “SyntaxError: Cannot Use Import Statement Outside A Module In NodeJs” bug helpful. You should be able to address this irritation, as well as numerous other issues, as you create your program with this information.

Please leave us a comment if you wish to learn more about the subject or if you have any questions or thoughts to contribute. Thanks for spending your time to read this!


Related posts
Scroll to Top