рдЕрд╕реНрд╕рд▓рд╛рдо рдУ рдЕрд▓реИрдХреБрдо!
рдореИрдВрдиреЗ рдХреЛрдгреАрдп 8 рдХреЗ рд╕рд╛рде рд╕рд╣рдХрд░реНрдореА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рдЕрд╕рдлрд▓ рд░рд╣рд╛ред
рдореИрдВ рдЗрд╕реЗ рдХрд┐рд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛ред
рдореИрдВрдиреЗ рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рджрд┐рдЦрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ (https://github.com/furozen/PeerJs-example) рдмрдирд╛рдпрд╛ рд╣реИ:
import * as Peer from 'peerjs';
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐:
ERROR in src/app/app.component.ts:14:16 - error TS2351: Cannot use 'new' with an expression whose type lacks a call or construct signature.
14 let peer = new Peer();
~~~~~~~~~~
src/app/app.component.ts:3:1
3 import * as Peer from 'peerjs';
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead.
import { Peer } from 'peerjs'
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐:
ERROR in src/app/app.component.ts:3:10 - error TS2305: Module '"../../node_modules/peerjs"' has no exported member 'Peer'.
3 import { Peer } from 'peerjs'
~~~~
import Peer from 'peerjs'
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐:
WARNING in ./node_modules/peerjs/dist/peerjs.min.js 1:292-296
Critical dependency: the request of a dependency is an expression
рд░рдирдЯрд╛рдЗрдо:
Uncaught ReferenceError: parcelRequire is not defined
at push../node_modules/peerjs/dist/peerjs.min.js.parcelRequire.vHo1 (peerjs.min.js:1)
at Object../node_modules/peerjs/dist/peerjs.min.js (peerjs.min.js:1)
at __webpack_require__ (bootstrap:79)
at Module../src/app/app.component.ts (main.js:112)
at __webpack_require__ (bootstrap:79)
at Module../src/app/app.module.ts (app.component.ts:11)
at __webpack_require__ (bootstrap:79)
at Module../src/main.ts (main.ts:1)
at __webpack_require__ (bootstrap:79)
at Object.0 (main.ts:12)
import Peer = require('peerjs');
рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐:
ERROR in src/app/app.component.ts(3,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead
рд░рдирдЯрд╛рдЗрдо:
AppComponent_Host.ngfactory.js? [sm]:1 ERROR ReferenceError: Peer is not defined
at new AppComponent (app.component.ts:15)
at createClass (core.js:27863)
at createDirectiveInstance (core.js:27685)
at createViewNodes (core.js:38315)
at createRootView (core.js:38187)
at callWithDebugContext (core.js:39716)
at Object.debugCreateRootView [as createRootView] (core.js:38953)
at ComponentFactory_.create (core.js:26827)
at ComponentFactoryBoundToModule.create (core.js:22791)
at ApplicationRef.bootstrap (core.js:35343)
рдореЙрдбреНрдпреВрд▓ рдХреЛ "рдХреЙрдордирдЬ" рдореЗрдВ рдмрджрд▓рдирд╛ рд╕рдВрдХрд▓рди рддреНрд░реБрдЯрд┐ рдХреЛ рджреВрд░ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐ рдХреЛ рдареАрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ: рдлрд┐рд░ рднреА # 3 рдорд╛рдорд▓рд╛ред
рдж
ReferenceError: parcelRequire is not defined
рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: https://github.com/parcel-bundler/parcel/issues/1401
рд╕рд╣реА рддрд░реАрдХрд╛ import Peer from "peerjs"
, рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╡реЗрдмрдкреИрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ:
рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ ред/node_modules/peerjs/dist/peerjs.min.js 1: 292-296
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛: рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИ
рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рди рд╣реА рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╕рд╣реА рддрд░реАрдХрд╛
import Peer from "peerjs"
, рдЬреЛ рдЖрдкрдХреЛ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рд╡рд╣ рд╡реЗрдмрдкреИрдХ рдЪреЗрддрд╛рд╡рдиреА рд╣реИ:рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░ рд░рд╣рд╛ рд╣реИ ред/node_modules/peerjs/dist/peerjs.min.js 1: 292-296
рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд░реНрднрд░рддрд╛: рдПрдХ рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдПрдХ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╣реИрдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдФрд░ рди рд╣реА рд╕рдВрдХрд▓рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рд╣рд╛рдВ, рдпрд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ рдзрдиреНрдпрд╡рд╛рджред
рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
рдЖрдкрдХреЗ рдкрд╛рд╕ "esModuleInterop" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: tsconfig.json рдореЗрдВ рд╕рд╣реА
рдФрд░ рдЖрдпрд╛рдд рд╢реБрд▓реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ: "рдкреАрдпрд░рдЬ" рд╕реЗ рдкреАрдпрд░ рдЖрдпрд╛рдд рдХрд░реЗрдВ
рдорд╛рдлрд╝ рдХрд░рдирд╛! рдпрд╣ index.html рдореЗрдВ рдкреИрдЪ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛:
<script>
window.global = window;
var parcelRequire;
</script>
рдЗрд╕ рдкреИрдЪ рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдорд┐рд▓рд╛:
Uncaught ReferenceError: parcelRequire is not defined
at push../node_modules/peerjs/dist/peerjs.min.js.parcelRequire.vHo1 (peerjs.min.js:1)
at Object../node_modules/peerjs/dist/peerjs.min.js (peerjs.min.js:1)
at __webpack_require__ (bootstrap:79)
at Module../src/app/app.component.ts (main.js:112)
at __webpack_require__ (bootstrap:79)
at Module../src/app/app.module.ts (app.component.ts:12)
at __webpack_require__ (bootstrap:79)
at Module../src/main.ts (main.ts:1)
at __webpack_require__ (bootstrap:79)
at Object.0 (main.ts:12)
рдХреНрд░рдо рдореЗрдВред
рдЗрд╕рд▓рд┐рдП рдЖрдк рд╡рд╣рд╛рдВ рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/furozen/PeerJs-example
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рдореЗрд░реЗ рдХреЛрдгреАрдп 8 рдкрд░рд┐рдпреЛрдЬрдирд╛ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЖрдкрдХреЛ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП index.d.ts рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд░реВрдЯ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдпрд╛рдд рд╕рд╛рдерд┐рдпреЛрдВ рдХреА рдЬрд░реВрд░рдд рдирд╣реАрдВ рд╣реИ! рдХреЗрд╡рд▓ рд╕рд╣рдХрд░реНрдореА рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ index.d.ts рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рддреЛ рдореИрдВрдиреЗ peerjs (v1.1.0) рдХреЛ рдПрдХ рдХреЛрдгреАрдп рдРрдк рдореЗрдВ рдЬреЛрдбрд╝рд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореЗрд░реЗ рдкрд╛рд╕ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдпрд╛ рддреНрд░реБрдЯрд┐ рдирд╣реАрдВ рдереАред 2-3 рдЪрд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рддрдХ Peerjs рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░рддрд╛ рдерд╛ред рдореИрдВрдиреЗ рдРрдк рдореЗрдВ рдПрдХ рдФрд░ рд╣рд┐рд╕реНрд╕рд╛ рдЬреЛрдбрд╝рд╛, рдЬрд┐рд╕рдиреЗ рд▓реИрдВрдбрд┐рдВрдЧ рдкрд░ рд╕рд╛рдерд┐рдпреЛрдВ рдХреЛ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдФрд░ рдЬрдм рдореИрдВрдиреЗ parcelRequire рддреНрд░реБрдЯрд┐ рджреЗрдЦрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ред рдореИрдВрдиреЗ https://github.com/peers/peerjs/issues/552#issuecomment -510976519 рд╕реЗ parcelRequire initialization рдХреЛ рдЬреЛрдбрд╝рд╛ рдФрд░ рдпрд╣ рдЕрднреА рдХрд╛рдо рдХрд░рдиреЗ рд▓рдЧрддрд╛ рд╣реИред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдПрдХ рджреМрдбрд╝ рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЗрд╕реЗ рдЖрдЧреЗ рдЦреЛрджрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордп рдирд╣реАрдВ рдмрд┐рддрд╛рдпрд╛ рд╣реИред
Angular 9. рдкрд░ рд╕рдорд╛рди рд╕рдорд╕реНрдпрд╛ред рдореИрдВрдиреЗ рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╕рдлрд▓рддрд╛ рдХреЗ tsconfig.json рдХреЛ esModuleInterop: true
рдФрд░ allowSyntheticDefaultImports: true
рджреЛрдиреЛрдВ рдЬреЛрдбрд╝рд╛ред рдХреЛрдИ рдЦрд╝рдмрд░?
рдпрд╣ рдореЗрд░реЗ рд▓рд┐рдП @furozen рдкреЛрд╕реНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ index.html рдореЗрдВ рдЕрд╕реНрдерд╛рдпреА рд╕реБрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
<script>
var parcelRequire;
</script>
рдпрд╣ 2021 рдореЗрдВ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрдм рдкрд┐рдпрд░рдЬ рдХреЛ рдПрдХ рд▓рд┐рдЯ-рдПрд▓рд┐рдореЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рд╕рдорд╕реНрдпрд╛ рдЗрд╕ рддрдереНрдп рд╕реЗ рдЙрдкрдЬреА рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдХрд┐ рд╕рд╣рдХрд░реНрдореА рдХрд╛ рдирд┐рд░реНрдорд┐рдд рдЙрддреНрдкрд╛рджрди рдирд┐рдореНрди рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ:
parcelRequire=
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ, рдЪрд░ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛
var parcelRequire=
рдирддреАрдЬрддрди, рдЪреАрдЬреЗрдВ рд╕рд┐рд░реНрдл рдореЗрд░реЗ рд▓рд┐рдЯ-рдПрд▓рд┐рдореЗрдВрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╣реА рдЯреВрдЯрддреА рд╣реИрдВ, рдЬрдмрдХрд┐ рдмреНрд░рд╛рдЙрдЬрд░ рдЦреБрд╢реА-рдЦреБрд╢реА рдЗрд╕ рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдЧреНрд▓реЛрдмрд▓ рд╕реНрдХреЛрдк рдореЗрдВ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реИред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдорд╛рдлрд╝ рдХрд░рдирд╛! рдпрд╣ index.html рдореЗрдВ рдкреИрдЪ рдерд╛ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдЬреЛрдбрд╝рд╛ рдФрд░ рд╣рдЯрд╛рдирд╛ рднреВрд▓ рдЧрдпрд╛:
рдЗрд╕ рдкреИрдЪ рдХреЗ рдмрд┐рдирд╛ рдореБрдЭреЗ рдорд┐рд▓рд╛:
рдХреНрд░рдо рдореЗрдВред
рдЗрд╕рд▓рд┐рдП рдЖрдк рд╡рд╣рд╛рдВ рддреНрд░реБрдЯрд┐ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: https://github.com/furozen/PeerJs-example