2017-09-15 53 views
0

我想用TypeScript在WebSocket中发送消息。在我的控制台住这一点,它的工作原理:转换为TypeScript

socket.on('displayHello', function(data) { 
    $.pnotify({ 
     title: "Hello", 
     text: data.from + " te dis bonjour " + data.to, 
     type: "info" 
    }); 
}); 

我想它翻译成打字稿:

public onMessage(): Observable<any> { 
    return new Observable(observer => { 
    this.socket.on('displayHello', (data) => { 

     observer.next(data); 
    }); 
    }); 
} 

我不明白如何与pnotify参数做,因为它不是由打字稿认可。

当我试试这个:

public onMessage(): Observable<any> { 
return new Observable(observer => { 
    this.socket.on('displayHello', (data) => { 
    observer.next(data); 
    $.pnotify({ 
     title: 'Hello', 
     text: data.from + ' te dis bonjour ' + data.to, 
     type: 'info' 
    }); 
    }); 
}); 
} 

我有这样的错误:

TS2339:Property 'pnotify' does not exist on type '(search: string) => ElementFinder' 
+0

应该反正工作,除非你正在运行'用选项tsc''自动定位类型定义的版本 - -noEmitOnError = TRUE'。但是,为了实际解决您的问题,请参阅下面的答案。 –

+0

@PascalBayer 感谢您的回答,但在使用npm下载软件包后,我必须在程序中添加一些内容?因为这不会改变我的问题。 'pnotify'仍然不被识别 – Floriane

回答

1

你所面临的问题可以通过安装类型定义pnotify来解决。

取决于您是否使用npm或纱线,您需要执行npm install --save-dev @types/jquery.pnotifyyarn add --dev @types/jquery.pnotify

还要确保您使用的是最近的打字稿,它内部的@types/ - 文件夹

+0

用npm下载软件包后,我必须添加一些东西到我的程序中? 因为这不会改变我的问题。 'pnotify'仍然不被识别 – Floriane

+0

@Floriane你可以概述你的项目的设置吗? –

相关问题