是否需要安装NPM

时间:2020-01-19 16:00:11

标签: typescript

我正在开发一个使用socket.io的NPM库,并且正在使用Typescript。

让我们说我的图书馆中有一个与此类似的功能:

public someFunction = (_socket: Socket) => {}

,并且在我使用此库的应用中,仅调用此函数,而不是直接调用socket.io,如下所示:

public anotherFunction = ():void => {
    myLibraryClass.someFunction(socket);
}

很显然,我的库需要安装socket.io。

但是,如果我实际上没有在应用程序的socket.io中调用任何内容,是否需要NPM安装socket.io库,或者仅安装@types文件就足够了吗?

1 个答案:

答案 0 :(得分:0)

库中的someFunction方法从调用方接收socket实例,在您的应用程序中,您使用someFunction实例调用socket方法。因此,在您的库中,someFunction实际上没有创建socket的任何实例,而是从调用者那里接收了socket实例,因此它不必安装socket.io包,而{{1} } 足够的。在您的应用程序中,您使用@types实例调用someFunction,因此您已经安装了socket.io包(如果您的应用程序也使用TypeScript开发,则安装了@types)。