TypeError:默认值不是函数。导入、导出JavaScript类

TypeError:默认值不是函数。导入、导出JavaScript类,javascript,ecmascript-6,Javascript,Ecmascript 6,我对这个简单的代码感到困惑: 在driveApi.js中: class GoogleDriveApis { constructor(arg) { this.path = arg } test() { console.log(this.path) } } export default new GoogleDriveApis(); 当我这样做时: import GoogleDriveApis from './driveApis' GoogleDriveApis

我对这个简单的代码感到困惑:

driveApi.js
中:

class GoogleDriveApis {
  constructor(arg) { 
    this.path = arg
  }

  test() {
    console.log(this.path)
  }
}
export default new GoogleDriveApis();
当我这样做时:

import GoogleDriveApis from './driveApis'

GoogleDriveApis('abc').test()
我有以下错误:
TypeError:(0,\u driveApis2.default)不是函数


我做错了什么?

删除这个:
导出默认的新GoogleDriveAPI()


并将您的类更改为:
导出默认类GoogleDriveAPI{

您导入的
GoogleDriveAPI
是一个实例化对象,而不是一个类,您的意思是导出:
导出默认GoogleDriveAPI;
(然后在使用者中使用
新建
)?@CertainPerformance+1:我改为你说的,然后调用
新的GoogleDriveAPI('abc')。test()
类似的问题你知道在哪些情况下我们使用
导出默认的新GoogleDriveAPI()
,然后调用
GoogleDriveAPI('abc')。test()
没有
新建
?我有点困惑,因为我看到有人在使用它。你链接到的内容似乎很不相关。@lucahuy:这取决于你希望你的代码如何工作。你想让每个使用
/driveAPI
的调用站点都有自己独立的
GoogleDriveAPI
实例吗?如果是,请导出该类。但是我如果你想在所有模块间共享同一个实例,可以导出实例化的对象。但是在这种情况下,你可能不需要先定义一个类,你可以直接创建对象。