我正在节点中编写一个“类”
// 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(使用前将#替换为@)