如何执行与 ES5 和 ES6 兼容的导出?

2024-05-15

我正在节点中编写一个“类”

// mymodule/index.js

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

通常我会这样做

module.exports = MyClass

但我希望我的类可用于两种语法

var MyClass = require('mymodule')

and

import {MyClass} from 'mymodule'

哪种方法是正确的?


至于编写兼容 ES5 和 ES6 的导出,Babel 已经为你处理好了。 (正如对您问题的评论中所传达的那样。我只是为那些在对话中迷失的人进行澄清。)

module.exports = MyClass

将与两者一起工作var MyClass = require('mymodule') and import MyClass from 'mymodule

但是,需要明确的是,您询问的实际语法:

import {MyClass} from 'mymodule'

意味着不同于

import MyClass from 'mymodule'

对于后者,您必须将其导出为:module.exports.MyClass = MyClass,对于 ES5 模块,必须要求为var MyClass = require('mymodule').MyClass

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何执行与 ES5 和 ES6 兼容的导出? 的相关文章