3

I have installed packages via npm like

npm i simple-peer
npm i @types/simple-peer

and then referenced it in angular.json like

"scripts": [
    "./node_modules/simple-peer/simplepeer.min.js"
],

Simple-Peer is working fine but unable to get intellisense.

How it is possible?

4

2 回答 2

3

你已经很接近了,因为你已经安装了@types/simple-peer

现在尝试在 src 文件夹或项目的根目录中创建一个名为typings.d.ts的声明文件。

然后在新创建的类型文件中键入以下内容:

declare var SimplePeer: import('simple-peer').SimplePeer;

在 main.ts 中,将以下行放在导入的顶部(只是为了保持分开)

///<reference path="typings.d.ts"/>

在您的 ts 组件中,您应该能够导入(等):

import { Instance, SignalData } from 'simple-peer';

就我而言,我只使用 Instance 作为其他用法,在强类型化时没有任何意义。因此,我将 peer 作为 Instance 的一种类型,如下所示:

peer: Instance;

现在您应该能够通过智能感知探索您的选择。让我知道这是否仍然不起作用,以便我可以在前一段时间实施此操作时正确检查。

此外,如果您设法改进使用,请分享这些改进。

希望这可以帮助。谢谢

有关声明文件的更多信息: https ://angular.io/guide/typescript-configuration#typings

于 2019-09-13T09:21:21.953 回答
0

在您的组件或服务的顶部声明下面的行。

declare var SimplePeer: any;

现在您可以在任何地方使用它了

let peer = new SimplePeer({ initiator: true, trickle: false })
于 2019-08-25T13:52:14.640 回答