我在ES6模块中定义了一个ES6类,它导出该类的实例:
class MyObject {
constructor() {
this.propertyA = 1;
this.propertyB = 2;
}
myMethod() {
doStuff();
}
}
var theInstance = new MyObject();
export default theInstance;
导入此模块时,myMethod
为undefined
:
import * as theObject from './my/module';
theObject.myMethod(); // Error! undefined is not a method.
构造函数中定义的属性存在。就好像排除了对象的原型,只导出了成员。
我要求'babel/register'
。
为什么导出此对象无法正常工作?
答案 0 :(得分:7)
我问了之后我才知道这件事。看起来import * as foo from 'module'
和import foo from 'module'
之间存在差异。这有效:
import theObject from './mymodule';
所以这不是导出错误的问题,而是导入错误。