How do I perform an export that is compatible with ES5 and ES6?

后端 未结 3 977
傲寒
傲寒 2021-02-02 07:36

I\'m writing a \"class\" in node

// mymodule/index.js

function MyClass() {}
MyClass.prototype.method1 = function() {..}

usually I do

3条回答
  •  太阳男子
    2021-02-02 08:26

    As far as writing an export that is compatible for both ES5 and ES6, Babel already takes care of that for you. (As communicated in the comments to your question. I'm only clarifying for those who got lost in the dialog.)

    module.exports = MyClass
    

    will work with both var MyClass = require('mymodule') and import MyClass from 'mymodule

    However, to be clear, the actual syntax you asked about:

    import {MyClass} from 'mymodule'
    

    means something different from

    import MyClass from 'mymodule'
    

    For the latter, you would have to export it as: module.exports.MyClass = MyClass, and for ES5 modules it would have to required as var MyClass = require('mymodule').MyClass

提交回复
热议问题