angular 13 和 twilio 同步。 TypeError 变量名不是构造函数
angular 13 and twilio sync. TypeError variablename is not a constructor
一张纸条。当我使用 angular 10 时,它工作正常。升级到angular13后才出现问题
要求放在构造函数中,因为这是一个可注入服务,我相信它需要放在构造函数中。
注意我的代码 TwilioSyncService
export class TwilioSyncService{
constructor(private http: HttpClient, private router: Router){
//@ts-ignore
this.syncClientclass = require('twilio-sync');
}
syncClientclass;
syncClient;
稍后在代码中使用:
connect(token){
this.syncClient = new this.syncClientclass(token);
this.sendSyncClient(this.syncClient);
}
Twilio 同步文档说这是正确的
var SyncClient = require('twilio-sync');
var syncClient = new SyncClient(token);
来自下面链接的文档。
https://media.twiliocdn.com/sdk/js/sync/releases/3.0.1/docs/index.html
我刚刚安装了最新版本的 Twilio Sync 并尝试像您一样要求它,但我也无法初始化客户端。
但是,检查我在需要时得到的对象表明它只是一个包含所有 classes 的对象。在这种情况下,您正在寻找 Client
class,因此您需要:
this.syncClientclass = require('twilio-sync').Client;
我认为您的 twilio-sync
版本可能随着您更新 Angular 而更新。看起来 this change 出现在版本 3.0.5 中,其中描述了可能对此产生影响的两个更改:
- Default exports removed — they didn’t work in the previous versions either.
- Fixed type resolution issues on Angular.
一张纸条。当我使用 angular 10 时,它工作正常。升级到angular13后才出现问题
要求放在构造函数中,因为这是一个可注入服务,我相信它需要放在构造函数中。
注意我的代码 TwilioSyncService
export class TwilioSyncService{
constructor(private http: HttpClient, private router: Router){
//@ts-ignore
this.syncClientclass = require('twilio-sync');
}
syncClientclass;
syncClient;
稍后在代码中使用:
connect(token){
this.syncClient = new this.syncClientclass(token);
this.sendSyncClient(this.syncClient);
}
Twilio 同步文档说这是正确的
var SyncClient = require('twilio-sync');
var syncClient = new SyncClient(token);
来自下面链接的文档。
https://media.twiliocdn.com/sdk/js/sync/releases/3.0.1/docs/index.html
我刚刚安装了最新版本的 Twilio Sync 并尝试像您一样要求它,但我也无法初始化客户端。
但是,检查我在需要时得到的对象表明它只是一个包含所有 classes 的对象。在这种情况下,您正在寻找 Client
class,因此您需要:
this.syncClientclass = require('twilio-sync').Client;
我认为您的 twilio-sync
版本可能随着您更新 Angular 而更新。看起来 this change 出现在版本 3.0.5 中,其中描述了可能对此产生影响的两个更改:
- Default exports removed — they didn’t work in the previous versions either.
- Fixed type resolution issues on Angular.