为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

千巷猫影 2021-04-09 14:10:08
我为某些项目创建了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对于所有静态方法,我都有相同的错误。我错过了什么 ?
查看完整描述

2 回答

?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

我猜该类的文件称为ls-serializer.ts。


您必须像这样使用它:


import JsonSerializer from './ls-serializer'


JsonSerializer.toJson(...)

或者您可以避免default:


// ls-serializer.ts

export class JsonSerializer {

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

}

并像这样导出类:


import {JsonSerializer} from './ls-serializer'


JsonSerializer.toJson(...)


查看完整回答
反对 回复 2021-04-15
?
阿晨1998

TA贡献2037条经验 获得超6个赞

我发现了问题,这有点可怜...

在我的代码中,toJson方法以toJSON大写部分命名...在驼峰的情况下,在我的打字稿声明文件中。


查看完整回答
反对 回复 2021-04-15
  • 2 回答
  • 0 关注
  • 259 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号