Cannot use import statement outside a module

Viewed 102952

I'm trying to use classes in pure JavaScript, so I'm facing the error "Uncaught SyntaxError: Cannot use import statement outside a module" and can't solve it.

File1.js - Main file

import example from "./file2";

var test = new example();

File2.js - Class file

export default class example {
    constructor() {
        console.log("hello world");
    }
}
2 Answers

Add files with type="module":

<script src="file1.js" type="module" ></script>

A little late, but for newcomers to this quandary, you can convert both files to a module js .mjs. From there you can do what you were trying:

File1.mjs - Main file

import example from "./file2.mjs";

File2.mjs - Class file

export default class example {
    constructor() {
        console.log("hello world");
    }
}
Related