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
实例吗?如果是,请导出该类。但是我如果你想在所有模块间共享同一个实例,可以导出实例化的对象。但是在这种情况下,你可能不需要先定义一个类,你可以直接创建对象。