Babel.js JavaScript导出/导入类

x33g5p2x  于 2024-01-04  发布在  Babel
关注(0)|答案(2)|浏览(148)

为什么下面的例子没有输出“hello world”?相反,我得到:
TypeError:_base2.default.test不是函数
(it正在翻译与巴别塔)

file1.js

import Example from './file2';
console.log(Example.test());

字符串

file2.js

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

gg0vcinb

gg0vcinb1#

您只是导入类,而不是创建类的示例
尝试

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

字符串

cxfofazt

cxfofazt2#

如果你想把一个方法作为一个类方法调用(不创建一个对象示例),你可以尝试静态方法。
您可以将file2.js更改为,

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

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

import Example from './file2';
console.log(Example.test());


如果你想把它作为一个示例方法调用,请参考James Maa答案。

相关问题