El problema # 479 todavía está presente. Estoy usando la versión 0.3.20 de peerjs. Reproducir:
ng new app
npm install --save peerjs
import * as Peer from 'peerjs';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
title = 'app';
ngOnInit(): void {
new Peer('123', {})
}
}
ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor
Puedo confirmar, probé peerjs en Ionic 4 (que supongo que ejecuta Angular 6) con el mismo método de importación
Tiene el mismo problema al usar Webpack y CreateReactApp. Parece ser un nuevo problema introducido en 0.3.20 o 0.3.19.
Estoy trabajando en eso, de todos modos cualquier PR es bienvenido
¡Gracias @kidandcat ! Me encantaría ayudar, pero no tengo experiencia con TypeScript. La versión 0.3.18 funciona bien, así que no se preocupe.
Lo mismo aquí, usando vue-cli
Corregido en [email protected]
@kidandcat probó con 0.3.22 y 1.0.0 en Angular 7, este problema todavía se ve.
¿Cómo lo estás importando?
¿Cómo lo estás importando?
Pocos:
import * as Peer from 'peerjs'
-> este se cumplió con éxito, sin embargo, se arrojó el mismo error que en el primer comentario
import { Peer } from 'peerjs'
y import Peer from 'peerjs'
-> estos dos causaron un error de compilación
Solo instalo el paquete peerjs
, no uso @type/peerjs
ya que index.d.ts ya está disponible en el paquete peerjs
.
@kidandcat Pude resolver mi problema habilitando la siguiente bandera en el archivo tsconfig.json
''
{
...
"esModuleInterop": verdadero,
...
}
@nhducseuit ¿cuál es el contexto que
Tengo este problema con ionic 4.
"@ angular / común": "^ 7.2.2","@ angular / core": "^ 7.2.2","@ angular / formas": "^ 7.2.2","@ angular / http": "^ 7.2.2","@ angular / platform-browser": "^ 7.2.2","@ angular / platform-browser-dynamic": "^ 7.2.2","@ angular / enrutador": "^ 7.2.2","@ ionic-native / core": "^ 5.0.0","@ ionic-native / splash-screen": "^ 5.0.0","@ ionic-native / status-bar": "^ 5.0.0","@ iónico / angular": "^ 4.1.0","búfer": "^ 5.2.1","core-js": "^ 2.5.4","peerjs": "^ 1.0.2",
¿Que puedo hacer?
@kidandcat Pude resolver mi problema habilitando la siguiente bandera en el archivo tsconfig.json
{ ... "esModuleInterop": true, ... }
¿Tiene esto algún impacto en algo más?
¿Podría romper otras cosas?
La documentación mecanografiada dice algo que realmente no es comprensible.
¿Qué hace realmente esta opción esModuleInterop? Porque no queremos romper otras cosas.
https://www.typescriptlang.org/docs/handbook/compiler-options.html
Comentario más útil
Estoy trabajando en eso, de todos modos cualquier PR es bienvenido