export ES6 class in Node 4.x Unexpected reserved word

I have the following in a Node scripts:

"use strict";

class Whatever {
    constructor() {
        console.log("I'm in the constructor!");
    }
}

export default Whatever;

I get Unexpected reserved word regarding export.

What am I missing here? How do you specify a class definition in an external file and include/require it?

Answers:

Answer

Node.js doesn't support ES6 modules by default. You would need to activate them with the --harmony or --harmony_modules flag. Default ist the CommonJS declaration (require/module.exports).

Modify your code to support the CommonJS syntax:

"use strict";

class Whatever {
    constructor() {
        console.log("I'm in the constructor!");
    }
}

module.exports = Whatever;
Answer

ES6 modules aren't stable in Node yet, but you can use --harmony_modules to enable them. This obviously is not recommended in a production environment.

ES6 support in Node 4.x

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.