Peerjs: Tidak dapat mengimpor Peer di aplikasi Angular

Dibuat pada 7 Feb 2019  ·  13Komentar  ·  Sumber: peers/peerjs

Masalah #479 masih ada. Saya menggunakan peerjs versi 0.3.20. Untuk mereproduksi:

  • buat aplikasi Angular baru ng new app
  • npm install --save peerjs
  • edit file app.component.ts:
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', {})

  }
}
  • npm mulai
    Hasilnya adalah: ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

Komentar yang paling membantu

Saya sedang mengerjakannya, bagaimanapun juga, PR apa pun diterima

Semua 13 komentar

Dapat mengonfirmasi, mencoba peerjs pada Ionic 4 (yang saya asumsikan menjalankan Angular 6) dengan metode impor yang sama

Punya masalah yang sama saat menggunakan Webpack dan CreateReactApp. Tampaknya menjadi masalah baru yang diperkenalkan di 0.3.20 atau 0.3.19.

Saya sedang mengerjakannya, bagaimanapun juga, PR apa pun diterima

Terima kasih @kidandcat ! Saya ingin membantu, tetapi saya tidak punya pengalaman dengan TypeScript. Versi 0.3.18 berfungsi dengan baik, jadi jangan khawatir.

Sama di sini, menggunakan vue-cli

Diperbaiki di [email protected]

@kidandcat mencoba dengan 0.3.22 dan 1.0.0 di Angular 7, masalah ini masih terlihat.

Bagaimana Anda mengimpornya?

Bagaimana Anda mengimpornya?

Sedikit:
import * as Peer from 'peerjs' -> yang ini berhasil dipenuhi, namun kesalahan dilemparkan sama seperti di komentar pertama
import { Peer } from 'peerjs' dan import Peer from 'peerjs' -> keduanya menyebabkan kesalahan kompilasi

Saya hanya menginstal paket peerjs , tidak menggunakan @type/peerjs karena index.d.ts sudah tersedia dalam paket peerjs .

@kidandcat Saya dapat menyelesaikan masalah saya dengan mengaktifkan flag berikut di file tsconfig.json
```
{
...
"esModuleInterop": benar,
...
}

@nhducseuit apa konteks yang Anda gunakan?

  1. impor * sebagai Peer dari 'peerjs'
  2. impor { Rekan } dari 'peerjs'
  3. impor Peer dari 'peerjs'

Saya memiliki masalah ini dengan ionic 4.

"@sudut/umum": "^7.2.2","@sudut/inti": "^7.2.2","@angular/forms": "^7.2.2","@angular/http": "^7.2.2","@angular/platform-browser": "^7.2.2","@angular/platform-browser-dynamic": "^7.2.2","@angular/router": "^7.2.2","@ionic-native/core": "^5.0.0","@ionic-native/splash-screen": "^5.0.0","@ionic-native/status-bar": "^5.0.0","@ionic/angular": "^4.1.0","penyangga": "^5.2.1","inti-js": "^2.5.4","peerjs": "^1.0.2",

Apa yang saya bisa lakukan?

@kidandcat Saya dapat menyelesaikan masalah saya dengan mengaktifkan flag berikut di file tsconfig.json

{
...
    "esModuleInterop": true,
...
}

Apakah ini berdampak pada hal lain?
Mungkinkah itu merusak hal-hal lain.
Dokumentasi pada TypeScript mengatakan sesuatu yang tidak benar-benar dimengerti.
Apa yang sebenarnya dilakukan opsi esModuleInterop ini .Karena kami tidak ingin merusak hal lain.
https://www.typescriptlang.org/docs/handbook/compiler-options.html

Apakah halaman ini membantu?
0 / 5 - 0 peringkat