Javascript 导出/导入类

问题描述 投票:0回答:2

为什么下面这个例子没有输出“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');
  }
}
javascript import ecmascript-6 export babeljs
2个回答
38
投票

您只是导入类,但没有创建该类的实例

尝试

var myInstance = new Example()
myInstance.test()

23
投票

如果您想将方法作为类方法调用(而不创建对象实例),您可以尝试静态方法。

您可以将 file2.js 更改为,

export default class Example {
  static test() {
    console.log('hello world');
  }
}

然后使用 file1.js 中的类名作为

来调用它
import Example from './file2';
console.log(Example.test());
如果您想将其作为实例方法调用,请参阅

James Maa 答案。

© www.soinside.com 2019 - 2024. All rights reserved.