Peerjs: рдХреЛрдгреАрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдореЗрдВ рд╕рд╣рдХрд░реНрдореА рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рдЕрд╕рдорд░реНрде

рдХреЛ рдирд┐рд░реНрдорд┐рдд 7 рдлрд╝рд░ре░ 2019  ┬╖  13рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: peers/peerjs

рдЕрдВрдХ #479 рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдореИрдВ рдкреАрдпрд░рдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 0.3.20 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рдЬрдирди рдХрд░рдирд╛:

  • рдирдпрд╛ рдХреЛрдгреАрдп рдРрдк рдмрдирд╛рдПрдВ ng new app
  • npm install --save peerjs
  • 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', {})

  }
}
  • рдПрдирдкреАрдПрдо рдкреНрд░рд╛рд░рдВрдн
    рдкрд░рд┐рдгрд╛рдо рд╣реЛрдЧрд╛: ERROR TypeError: peerjs__WEBPACK_IMPORTED_MODULE_2__ is not a constructor

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рднреА рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рд╕рднреА 13 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╣реА рдЖрдпрд╛рдд рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЖрдпреЛрдирд┐рдХ 4 (рдЬреЛ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреЛрдгреАрдп 6 рдЪрд▓ рд░рд╣рд╛ рд╣реИ) рдкрд░ рдкреАрдпрд░рдЬ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА

Webpack рдФрд░ CreateReactApp рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ 0.3.20 рдпрд╛ 0.3.19 рдореЗрдВ рдкреЗрд╢ рдХреА рдЧрдИ рдПрдХ рдирдИ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рднреА рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ

рдзрдиреНрдпрд╡рд╛рдж @kidandcat ! рдореБрдЭреЗ рдорджрдж рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде рдХреЛрдИ рдЕрдиреБрднрд╡ рдирд╣реАрдВ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг 0.3.18 рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХреЛрдИ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рд╣реИред

рдпрд╣рд╛рдБ рд╡рд╣реА, vue-cli . рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП

[email protected] . рдореЗрдВ рдлрд┐рдХреНрд╕реНрдб

@kidandcat рдиреЗ рдХреЛрдгреАрдп 7 рдореЗрдВ 0.3.22 рдФрд░ 1.0.0 рдХреЗ рд╕рд╛рде рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛, рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдЕрднреА рднреА рджреЗрдЦреА рдЬрд╛рддреА рд╣реИред

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдЖрдк рдЗрд╕реЗ рдХреИрд╕реЗ рдЖрдпрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ

рдХреБрдЫ:
import * as Peer from 'peerjs' -> рдпрд╣ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЕрдиреБрдкрд╛рд▓рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рддреНрд░реБрдЯрд┐ рдкрд╣рд▓реА рдЯрд┐рдкреНрдкрдгреА рдХреА рддрд░рд╣ рд╣реА рдлреЗрдВрдХ рджреА рдЧрдИ рдереА
import { Peer } from 'peerjs' рдФрд░ import Peer from 'peerjs' -> рдЗрди рджреЛрдиреЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рд╣реБрдИ

рдореИрдВ рдХреЗрд╡рд▓ peerjs рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реВрдВ, @type/peerjs рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ рдХреНрдпреЛрдВрдХрд┐ index.d.ts peerjs рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реИред

@kidandcat рдореИрдВ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдзреНрд╡рдЬ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:
```
{
...
"esModuleInterop": рд╕рдЪ,
...
}

@nhducseuit рдЖрдкрдиреЗ рдХрд┐рд╕ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ?

  1. рдЖрдпрд╛рдд * 'рдкреАрд░рдЬ' рд╕реЗ рд╕рд╣рдХрд░реНрдореА рдХреЗ рд░реВрдк рдореЗрдВ
  2. 'рдкреАрд░рдЬ' рд╕реЗ рдЗрдореНрдкреЛрд░реНрдЯ { рдкреАрдпрд░ }
  3. 'рдкреАрд░рдЬ' рд╕реЗ рдкреАрдпрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ

рдореБрдЭреЗ рдЖрдпрдирд┐рдХ 4 рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╣реИред

"@ рдХреЛрдгреАрдп/рд╕рд╛рдорд╛рдиреНрдп": "^ 7.2.2","@ рдХреЛрдгреАрдп/рдХреЛрд░": "^ 7.2.2","@ рдХреЛрдгреАрдп/рд░реВрдк": "^ 7.2.2","@ рдХреЛрдгреАрдп/http": "^ 7.2.2","@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░": "^ 7.2.2","@ рдХреЛрдгреАрдп/рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо-рдмреНрд░рд╛рдЙрдЬрд╝рд░-рдЧрддрд┐рд╢реАрд▓": "^ 7.2.2","@ рдХреЛрдгреАрдп/рд░рд╛рдЙрдЯрд░": "^ 7.2.2","@ рдЖрдпрдирд┐рдХ-рджреЗрд╢реА/рдХреЛрд░": "^5.0.0","@ рдЖрдпрдирд┐рдХ-рджреЗрд╢реА/рд╕реНрдкрд▓реИрд╢-рд╕реНрдХреНрд░реАрди": "^5.0.0","@ рдЖрдпрдирд┐рдХ-рджреЗрд╢реА/рд╕реНрдерд┐рддрд┐-рдмрд╛рд░": "^5.0.0","@ рдЖрдпрдирд┐рдХ/рдХреЛрдгреАрдп": "^ 4.1.0","рдмрдлрд░": "^ 5.2.1","рдХреЛрд░-рдЬреЗрдПрд╕": "^ 2.5.4","рдкреАрд░реНрдЬ": "^ 1.0.2",

рдореИрдВ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдБ?

@kidandcat рдореИрдВ tsconfig.json рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдореНрди рдзреНрд╡рдЬ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдХреЗ рдЕрдкрдиреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдерд╛:

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

рдХреНрдпрд╛ рдЗрд╕рдХрд╛ рдХрд┐рд╕реА рдФрд░ рдЪреАрдЬ рдкрд░ рдХреЛрдИ рдЕрд╕рд░ рдкрдбрд╝рддрд╛ рд╣реИ?
рдХреНрдпрд╛ рдпрд╣ рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИред
рдЯрд╛рдЗрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рдХреБрдЫ рдРрд╕рд╛ рдХрд╣рддрд╛ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕рдордЭ рдореЗрдВ рдирд╣реАрдВ рдЖрддрд╛ рд╣реИред
рдпрд╣ esModuleInterop рд╡рд┐рдХрд▓реНрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╣рдо рдЕрдиреНрдп рдЪреАрдЬреЛрдВ рдХреЛ рддреЛрдбрд╝рдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
https://www.typescriptlang.org/docs/handbook/compiler-options.html

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

kahrkunne picture kahrkunne  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

maxpavlov picture maxpavlov  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

veezo2007pk picture veezo2007pk  ┬╖  7рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jameshfisher picture jameshfisher  ┬╖  5рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

jameshfisher picture jameshfisher  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ