为什么下面这个例子没有输出“hello world”?相反,我得到:
类型错误:_base2.default.test 不是函数
(正在使用 Babel 进行转译)
文件1.js
import Example from './file2';
console.log(Example.test());
file2.js
export default class Example {
test() {
console.log('hello world');
}
}
您只是导入类,但没有创建该类的实例
尝试
var myInstance = new Example()
myInstance.test()
如果您想将方法作为类方法调用(而不创建对象实例),您可以尝试静态方法。
您可以将 file2.js 更改为,
export default class Example {
static test() {
console.log('hello world');
}
}
然后使用 file1.js 中的类名作为
来调用它import Example from './file2';
console.log(Example.test());
如果您想将其作为实例方法调用,请参阅 James Maa 答案。