如何在 Angular 2 中使用 Twilio 客户端?

How to use Twilio Client in Angular 2?

我正在创建一个应用程序,我需要在其中实现“点击通话”功能。所以为了交流,我使用 Twilio Client。我试过了this example

现在我只需要它,我需要在我的 Angular 2 应用程序中实现相同的功能。我如何在我的 Typescript 中导入 Twilio Client 以及如何使用它?

我正在尝试在我的组件中导入 Twilio,例如

import * as Twilio from 'twilio'

但这不是正确的导入方法。

此处为 Twilio 开发人员布道师。现在我们没有任何 TypeScript 绑定,因此这样的捆绑是行不通的。我正在处理一些绑定,但与此同时,我建议您像使用脚本标记在演示应用程序中完成的那样包含库。您可以为此使用我们的 Twilio CDN:

  <script type="text/javascript" src="//media.twiliocdn.com/sdk/js/client/v1.3/twilio.min.js"></script>

之后你必须让 TypeScript 知道它。为此,您目前必须使用 declare const。不幸的是,在绑定完成之前,这不会给您带来 TypeScript 类型检查的任何好处,但它至少让您可以使用它。只需在您计划使用 Twilio 代码的文件中添加以下行:

declare const Twilio: any;

希望对您有所帮助。

干杯, 多米尼克

现在,当你从 npm (https://www.npmjs.com/package/twilio-chat) 安装 Twilio Client Library 时,它有相应的类型定义,所以你可以只写 import { Client, User } from "twilio-chat";,然后声明一个 Client 变量您的组件 twilioClient: Client 并创建它:

Client.create(token).then(client => {
        this.twilioClient = client
});

不幸的是 twilio-common 没有 d.ts,所以如果你想使用它的东西,比如 AccessManager,你需要这样做,所有变量都有 any类型:

let AccessManager = require('twilio-common').AccessManager;
let accessManager = new AccessManager(token);

编辑:不幸的是,出于某种原因,开始从依赖文件中的 'twilio-chat' 中获取缺少 d.ts 模块的响应,所以看起来这个库还没有准备好与 TS 一起使用:(。