рдЕрдВрдХ #479 рдЕрднреА рднреА рдореМрдЬреВрдж рд╣реИред рдореИрдВ рдкреАрдпрд░рдЬ рдХреЗ рд╕рдВрд╕реНрдХрд░рдг 0.3.20 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдкреНрд░рдЬрдирди рдХрд░рдирд╛:
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
рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рд╣реА рдЖрдпрд╛рдд рд╡рд┐рдзрд┐ рдХреЗ рд╕рд╛рде рдЖрдпреЛрдирд┐рдХ 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 рдЖрдкрдиреЗ рдХрд┐рд╕ рд╕рдВрджрд░реНрдн рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ?
рдореБрдЭреЗ рдЖрдпрдирд┐рдХ 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
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ рдЗрд╕ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рд╡реИрд╕реЗ рднреА рдХрд┐рд╕реА рднреА рдкреАрдЖрд░ рдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ