Incluí (a través de npm) el paquete twilio/voice-sdk (v.2.1.0) en un proyecto. Cuando incluyo el siguiente código (como se muestra en muchos ejemplos):
const Device = require('@twilio/voice-sdk').Device;Me sale un error de consola que dice:
"No se puede encontrar el módulo 'eventos' en '@twilio/audioplayer/es5'". Estoy tratando de importar esto en el lado del cliente, no en el servidor.
Obtengo esto si uso require o import.
Como un intento de evitar esto, también incluí el paquete de nodos @twilio/audioplayer, pero fue en vano. Un poco atascado en cuanto a lo que está pasando aquí.
Estoy tratando de usar esto en un proyecto Wix (o Velo más específicamente). Con la esperanza de crear un marcador que pueda responder e instigar llamadas telefónicas en un sitio que ya existe en esa plataforma.
Instalé los dos paquetes npm anteriores en mi proyecto, pero obtuve el error enumerado anteriormente.
¿Alguna idea de Internet?
Información adicional: si agrego el 'requerir' en el lado del servidor, no obtengo el mismo error. Iba a probar esto y luego hacer una llamada asíncrona al servidor para obtener mi objeto Dispositivo. Sin embargo, el paquete Twilio Device SDK utiliza el objeto Window, que por supuesto no existe en el lado del servidor.
El paquete @twilio/audioplayer usa el módulo "eventos". Este módulo está disponible en Node.js y cuando las aplicaciones se empaquetan con algo como Webpack se rellena con poli.
No he usado Velo, pero asumo que se están agrupando de manera diferente de una manera que no agrega polyfills para esto. Recomiendo instalar el módulo de eventos npm en su proyecto también. Eso debería proporcionar el EventEmitter que la biblioteca está usando para el entorno del navegador y detener este error.