Typescript声明的静态类方法不是函数

我为某些项目创建了es6库。


当我导入该库时,所有静态函数都会引发错误。


这是一个例子。


我的课程(es6):


class JsonSerializer {

    static toJson(node) { /* some code */ }

}


export default JsonSerializer

打字稿定义文件:


export class JsonSerializer {

    static toJson(root: Node): any


    static fromJson(config: any): Node

}

我像这样导入我的班级


import {JsonSerializer} from 'ls-serializer'

当我尝试使用toJson静态方法时。


它给我以下错误:


_lsSerializer.JsonSerializer.toJson is not a function

对于所有静态方法,我都有相同的错误。


我错过了什么 ?


千巷猫影
浏览 260回答 2
2回答

收到一只叮咚

我猜该类的文件称为ls-serializer.ts。您必须像这样使用它:import JsonSerializer from './ls-serializer'JsonSerializer.toJson(...)或者您可以避免default:// ls-serializer.tsexport class JsonSerializer {    static toJson(node) { /* some code */ }}并像这样导出类:import {JsonSerializer} from './ls-serializer'JsonSerializer.toJson(...)

阿晨1998

我发现了问题,这有点可怜...在我的代码中,toJson方法以toJSON大写部分命名...在驼峰的情况下,在我的打字稿声明文件中。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript