μ°Έκ³ : μ§μ μ§λ¬Έμ κ²½μ° λ€μ μ±λ μ€ νλλ₯Ό μ¬μ©νμμμ€: stackoverflow λλ slack
- [x] report a *bug*
- [ ] request a *feature*
socket.io-clientλ node.jsμ global
varμ λν μ’
μμ±μΌλ‘ μΈν΄ @angular/[email protected] rc.3 μμ μλνμ§ μμ΅λλ€.
( [email protected]
μμ μ¨ κ² κ°μ§λ§ ν΄λΉ λ²μ μ μ μ§ κ΄λ¦¬νλ μ¬λμ μ°Ύμ μ μμ)
https://github.com/angular/angular-cli/issues/8160 μ°Έμ‘°
2.0.4
λν νμ¬ μ΄ λ¬Έμ μ μ§λ©΄ν΄ μμ΅λλ€.
μ΄μ https://github.com/angular/angular-cli/issues/8160 μ΄ ν΄κ²°λμμΌλ―λ‘ μ΄ λ¬Έμ λ₯Ό μ’ λ£ν μ μμ΅λκΉ? κ°μ¬ ν΄μ!
angular/cli > 6μμ μ μμ μꡬμ μΌλ‘ μ κ±°νκΈ° λλ¬Έμ κ·Έλ κ² μκ°νμ§ μμ΅λλ€.
λ€μ μ‘°μ¬λ₯Ό μμν΄ μ£Όμκ² μ΅λκΉ? https://github.com/angular/angular-cli/issues/9827
λΈ,
μΌλΉ
Angular CLIκ° λ¬Έμ λ₯Ό ν΄κ²°νκ±°λ node λͺ
λ Ήμ μ¬μ μν μ μμ λκΉμ§ ν΄κ²° λ°©λ²μ tsconfig.app.json
μ κ²½λ‘ μΉμ
μ socket.io-client μ¬λ¦Ό νμΌμ μΆκ°ν μ μμ΅λλ€.
"paths": {
....
"socket.io-client": ["../node_modules/socket.io-client/dist/socket.io.slim.js"]
}
νμ¬ μλνλλΌλ https://github.com/angular/angular-cli/issues/9827#issuecomment -369578814 μ λ°λ₯΄λ©΄ Angular@6
μ λ¬Έμ κ° λ©λλ€.
"[μ΄κ²μ] μΌλ°μ μΌλ‘ μ ν μλνμ§ μμμΌ νλ λΈλΌμ°μ μ½λκ° λ§€μ° νΉμ ν λκ΅¬λ‘ λΉλλ κ²½μ°μλ§ μλνλ μν©μ λ§λλλ€. μ΄κ²μ μ’μ μν©μ΄ μλλλ€."
Angular 6 RC5μμ κ³ μ₯λ κ²μ νμΈνμ΅λλ€. μ무λ ν΄κ²° λ°©λ²μ μκ³ μμ΅λκΉ?
@ngervasi μ°λ¦¬λ λ΄κ° μ¬κΈ°μ μΈκΈν κ²μ²λΌ ν΄λμ΅λλ€: https://github.com/socketio/socket.io-client/issues/1166#issuecomment -379225639
λλ μλνλ€:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"baseUrl": "",
"types": []
},
"exclude": [
"test.ts",
"**/*.spec.ts"
],
"paths": {
"socket.io-client": ["../node_modules/socket.io-client/dist/socket.io.slim.js"]
}
}
νμ§λ§ Angular 6RC5μμλ μλνμ§ μμ΅λλ€. μ¬μ ν μ€λ₯κ° λ°μν©λλ€.
is-buffer.js:4 Uncaught ReferenceError: global is not defined
at Object../node_modules/socket.io-client/node_modules/socket.io-parser/is-buffer.js (is-buffer.js:4)
at __webpack_require__ (bootstrap:74)
at Object../node_modules/socket.io-client/node_modules/socket.io-parser/binary.js (binary.js:8)
at __webpack_require__ (bootstrap:74)
at Object../node_modules/socket.io-client/node_modules/socket.io-parser/index.js (index.js:8)
at __webpack_require__ (bootstrap:74)
at Object../node_modules/socket.io-client/lib/index.js (index.js:7)
at __webpack_require__ (bootstrap:74)
at Object../src/app/_services/websocket.service.ts (log.service.ts:5)
at __webpack_require__ (bootstrap:74)
https://github.com/angular/angular-cli/issues/8160#issuecomment -386153833μ λ°λ₯΄λ©΄:
λ€μ polyfills.ts
μ μΆκ°νλ©΄ Angular@6
μμ μλν©λλ€.
// Add global to window, assigning the value of window itself.
(window as any).global = window;
μ΄λ€ κ²½μ°λ μ΄ λ¬Έμ λ IMOλ‘ ν΄κ²°λμ΄μλ μ λ©λλ€. socket.io-clientλ global
μ λν μμμ μ’
μμ±μ μ κ±°νκ±°λ ν΄λ¦¬νμ΄ νμνλ€λ λ¬Έμλ₯Ό μμ±ν΄μΌ ν©λλ€. κ°λ μ¬μ©μ)
(BTW μ΅μ [email protected]
μ μΆμ²λ μ΄λμ
λκΉ? μ κ° λμλ릴 μ μμ΅λλ€.)
μ΄λ κ²μ΄ λ λμ μμ μ λκΉ? https://github.com/socketio/socket.io-client/issues/1166#issuecomment -379225639(tsconfigμ κ²½λ‘μ μΆκ°) λλ https://github.com/socketio/socket.io-client/issues/1166 #issuecomment -386195105(κΈλ‘λ²μ ν λΉ)?
λ μ΅μ λͺ¨λ Angular CLIλ‘ μμ±λ Angular v6 νλ‘μ νΈμμ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€.
@amitport has-binary2
ν¨ν€μ§μ μμ€λ λ€μκ³Ό κ°μ΅λλ€. https://github.com/darrachequesne/has-binary
κ·Έκ²μ΄ μ μΌν μ¬κ±΄μ΄ μλμ§ κ±±μ λμ§λ§.
@darrenmothersele μ μ νν νλμ "λ λμ"μ΄ μλ€κ³ μκ°νμ§ μμ΅λλ€. 'global'μ μΆκ°νλ©΄ λ€λ₯Έ λΌμ΄λΈλ¬λ¦¬μ λΆμμ©μ΄ μμ μ μμ§λ§ 'slim' νμΌμ μΆκ°νλ©΄ λ²λ€ ν¬κΈ°μ λΆμ μ μΈ μν₯μ λ―ΈμΉ μ μμ΅λλ€(λ°λμ κ·Έλ μ§λ μμ)
@darrachequesne μ΄ PRμ μΆκ°νμ΅λλ€ https://github.com/darrachequesne/has-binary/pull/4 (μμμ λλ€ :))
λλ λ κ°μ§ μ루μ κ³Ό νμ¬ Angular 6.0.0 νλ‘μ νΈλ₯Ό λͺ¨λ μλνμ§λ§ μ무 κ²λ μλνμ§ μμ΅λλ€. tsconfig.app.jsonμ κ²½λ‘ νλͺ©μ μΆκ°νκ³ polyfills.tsμ νλͺ©μ μΆκ°νμ§λ§ μ¬μ ν ν¬λ‘¬μμ λμΌν μ€λ₯κ° λ°μν©λλ€.
μ¬κΈ°μμλ λ§μ°¬κ°μ§λ‘ tsconfig μ루μ μ ng cli 6μμ μλνμ§ μμ΅λλ€.
// μ°½μ μ μ κ°μ μΆκ°νμ¬ μ°½ μ체μ κ°μ ν λΉν©λλ€.
(λͺ¨λ μ°½).global = μ°½;
λλ₯Ό μν΄ μΌνκ³ μλ€
κ°μ¬ ν΄μ.
μ μκ²λ ν¨κ³Όκ° μμ΅λλ€! κ°μ¬ ν΄μ!
κ·Έκ²μ λλ₯Ό μν΄ λ무 μλν©λλ€! μ λ§ κ°μ¬ν©λλ€ ! :λ
(window as any).global = window;
μ΄λμ λ£μμ΅λκΉ?
κ°μ¬ ν΄μ.
μλ νμΈμ,
λ°λ‘ κ±°κΈ°(μ¬μ§μμ).
2018-05-17 21:07 GMT+02:00 Alberto Basaglia [email protected] :
(μ°½μ κ·Έλλ‘) μ΄λμ λμμ΅λκΉ?.global = window; ?
κ°μ¬ ν΄μ.β
λΉμ μ΄ λκΈμ λ¬μκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/socketio/socket.io-client/issues/1166#issuecomment-389975067 ,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/APZTlGpMwMpnAscifHT2ZQrRUSJqLejCks5tzcp3gaJpZM4QD_kq
.
--
μλ₯΄λ
Έ ν¬μ λ°μ€λ¦¬μν
DΓ©veloppeur μΉ μ 체 μ€ν chez Leaf μΉ μ¬μ΄νΈ
μ¬μ΄νΈ μΉ : www.leaf-website.esy.es http://www.leaf-website.esy.es
λ©μΌ : .tussy.
μ ν : 07 77 83 29 44
μ΄λμ λμ ¨μ΄μ...
μ΄κ²μ polyfills.ts
μ λ£μΌμμμ€.
(window as any).global = window
λΌμΈ 63κ³Ό 70 μ¬μ΄
2018-05-31 18:31 GMT+02:00 Bibhas Bhattacharya [email protected] :
μ΄λμ λμ ¨μ΄μ...
μ΄κ²μ polyfills.tsμ λ£μΌμμμ€.
(λͺ¨λ μ°½).global = μ°½
β
λΉμ μ΄ λκΈμ λ¬μκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ³ GitHubμμ νμΈνμΈμ.
https://github.com/socketio/socket.io-client/issues/1166#issuecomment-393592879 ,
λλ μ€λ λ μμκ±°
https://github.com/notifications/unsubscribe-auth/APZTlPci9GKE3R8lwc1g3qfqWODeXIPiks5t4Br1gaJpZM4QD_kq
.
--
μλ₯΄λ
Έ ν¬μ λ°μ€λ¦¬μν
DΓ©veloppeur μΉ μ 체 μ€ν chez Leaf μΉ μ¬μ΄νΈ
μ¬μ΄νΈ μΉ : www.leaf-website.esy.es http://www.leaf-website.esy.es
λ©μΌ : .tussy.
μ ν : 07 77 83 29 44
@amitport μ 곡ν ν΄κ²° λ°©λ²μ κ°μ¬λ립λλ€!! @AngularTeam , μ΄λ»κ² κ³μ λͺ¨λ κ²μ κΉ¨λ¨λ¦¬λ κ²λκΉ :/ λΉμ μ rxjs νμ μ¬λλ€μ ν¬ν¨μν€κΈ°κΉμ§ νκ³ κ°μκΈ° rxjsλ λ²μ λ³κ²½μΌλ‘ λͺ¨λ κ²μ κΉ¨λ¨λ Έμ΅λλ€... 첫 λ²μ§Έ μμ μ μΈ λ¦΄λ¦¬μ€ μ΄νλ‘ angularλ₯Ό λ°λΌμ‘μκ³ λΉμ μ λ₯λ ₯μ λλμ΅λλ€. κ° λ¦΄λ¦¬μ€μμ λͺ¨λ κ²μ κΉ¨λ λ₯λ ₯.
@LucasFrecia Angularκ° μλ socket.io λ¬Έμ μ λλ€. Angularλ λ²μ 6(μ£Όμ λΈλ μ΄νΉ 릴리μ€λ‘ νμλ¨)μμ μ΄λ₯Ό μ¨κΈ°κΈ° μν΄ μ€μ§νμ¬ μ’μ κ²°κ³Όλ₯Ό μ»μμ΅λλ€.
https://github.com/webmodules/blob(engine.io-parser μμ μ¬μ©)μ λν΄ 2μ£Ό μ μ https://github.com/webmodules/blob/pull/14 μ λ λ€λ₯Έ pull μμ²μ μΆκ°νμ΅λλ€.
μλ΅μ΄ μμ΅λλ€. μ¬κΈ°μμ λ³ν©ν μ μλ μ¬λμ΄ μμ΅λκΉ? @darrachequesne @rauchg @nkzawa?
(window as any).global = window μΆκ° λλ₯Ό μν΄ μΌν polyfills.ts
@amitport tks.
μ μλν©λλ€
polyfills.ts νμΌμ (window as any).global = windowλ₯Ό λ£μ΅λλ€.
localhostμμ ReferenceError: global is not defined
λ₯Ό μ 곡νμ§ μμ§λ§ ν
μ€νΈ λͺ©μ μΌλ‘ http-serverλ‘ νλ‘λμ
λΉλλ₯Ό μ€ννλ €κ³ νλ©΄ μ΄ μ€λ₯κ° λ°μν©λλ€.
μ μ΄λ° μΌμ΄ μΌμ΄λλμ§μ λν λ¨μκ° μμ΅λκΉ?
μ λ§ κΈν΄μ!
μλ
νμΈμ @gupta82anish ,
(window as any).global = window;
$ νμΌμ pollyfills.ts
νμΌμ λ£κ³ localhost(κ°λ°)μμ νλ‘μ νΈλ₯Ό μ€ννκ³ νλ‘λμ
μ©μΌλ‘ λΉλνλλ° μ€λ₯κ° λ°μνμ§ μμμ΅λλ€.
κ·Έκ²μ 맀λ ₯μ²λΌ μλνμ΅λλ€.
(window as any).global = window;
in pollyfills.ts
ν΄κ²° λ°©λ²μ Angular Core 6.1.0μμ μλνλ κ² κ°μ΅λλ€. socket.ioκ° κ³§ μ
λ°μ΄νΈλκΈ°λ₯Ό λ°λλλ€.
(λͺ¨λ μ°½).global = μ°½; pollyfills.tsμμλ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€!!
(window as any).global = window;
μμ£Ό κΉλν μ루μ
μ
λλ€. κ·Έλ¬λ μΌμ νλ μ¬λ°λ₯Έ λ°©λ²μ
λκΉ?
@avinexus7 μΌμ νλ μ¬λ°λ₯Έ λ°©λ²μ΄ μλλλ€. socket.io-client
μ λ―Έν΄κ²° λ¬Έμ μ λν ν΄κ²° λ°©λ²μ
λλ€. λΈλΌμ°μ μ μ‘΄μ¬νμ§ μλ 'κΈλ‘λ²' κ°μ²΄μ μ¬μ©μ
λλ€.
(AFAIK, μ무λ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ Έλ ₯νμ§ μμ΅λλ€. 무μλ¨: https://github.com/socketio/engine.io-parser/issues/99 λ° https://github.com/webmodules/blob/pull μ°Έμ‘°) /14)
@amitport NPM μ§μνμ μ°λ½νμ¬ blob
ν¨ν€μ§μ μ λ²μ μ κ²μν μ μλ κΆνμ λΆμ¬ν΄ μ£Όμκ² μ΅λκΉ?
@darrachequesne - μλ£, NPMμ μμ²μ μ μΆνμ΅λλ€.
(window as any).global = window
λλ
(window as any) = window
polyfills.ts
νμΌμ μμ μ½λλ₯Ό μΆκ°ν©λλ€.
angular/angular-cli#8160(μ£Όμ) μ λ°λ₯΄λ©΄:
λ€μ
polyfills.ts
μ μΆκ°νλ©΄Angular@6
μμ μλν©λλ€.// Add global to window, assigning the value of window itself. (window as any).global = window;
μ΄λ€ κ²½μ°λ μ΄ λ¬Έμ λ IMOλ‘ ν΄κ²°λμ΄μλ μ λ©λλ€. socket.io-clientλ
global
μ λν μμμ μ’ μμ±μ μ κ±°νκ±°λ ν΄λ¦¬νμ΄ νμνλ€λ λ¬Έμλ₯Ό μμ±ν΄μΌ ν©λλ€. κ°λ μ¬μ©μ)(BTW μ΅μ
[email protected]
μ μΆμ²λ μ΄λμ λκΉ? μ κ° λμλ릴 μ μμ΅λλ€.)
μ, μ΄κ²μ μ μκ²λ ν¨κ³Όμ μ΄μμ΅λλ€. κ°μ¬ν©λλ€.
μ΄λμ λμ ¨μ΄μ...
μ΄κ²μ
polyfills.ts
μ λ£μΌμμμ€.(window as any).global = window
@bibhas2 μ’μμ! λλ₯Ό μν΄ μΌνλ€
https://github.com/socketio/engine.io-parser/releases/tag/2.1.3 μ΄ λ¦΄λ¦¬μ€λμ΄ μμ λ μ μμ(ν¨ν€μ§ μ κΈ μμ΄ socket.io-clientλ₯Ό λ€μ μ€μΉν΄μΌ ν μ μμ)
μμ
νμ§ μμ
ββ μμ§. [email protected]
ββ μμΌ. [email protected]
@kartikupadhyay90 μΈλΆ μ 보λ₯Ό μΆκ°ν μ μμ΅λκΉ?
λ΄ ReactNative μ±μμ 2.2.0
λ‘ μ
κ·Έλ μ΄λν ν λ΄ socket.io μΈμ€ν΄μ€κ° μλ²μμ μλ¦Όμ λ°μ§ λͺ»ν©λλ€. 2.1.1
λ‘ λ€μ΄κ·Έλ μ΄λν΄μΌ νμ΅λλ€.
@alimek κ·νμ λ²κ·Έκ° μ΄ λ¬Έμ μ κ΄λ ¨λμ΄ μλ€κ³ νμ νμλκΉ? μμΈν λ΄μ©μ μΆκ°νμμμ€. κ·Έλ μ§ μμΌλ©΄ μ λ¬Έμ λ₯Ό κ²μνμμμ€.
@amitport κ·Έκ²μ΄ μ΄μ λ²μ κ³Ό 2.2.0 μ¬μ΄μ μ μΌν λ³κ²½ μ¬νμ΄λΌλ©΄ κ·Έλ κ² μκ°ν©λλ€.
@alimek rephase : λ²κ·Έκ° μ΄ λ²κ·Έμ _λμΌν_ κ²½μ° μΈλΆμ 보λ₯Ό μΆκ°νμΈμ. κ·Έλ μ§ μμΌλ©΄ μ λ¬Έμ λ₯Ό μ¬μμμ€(νκ·μΌ μ μμ).
(BTW, μ λ μ΄ λΌμ΄λΈλ¬λ¦¬μ κ΄λ¦¬μκ° μλλλ€. λ¬Έμ μ²λ¦¬κ° μΌλ°μ μΌλ‘ μ΄λ»κ² μλνλμ§μ λν΄ μ€λͺ νλ κ²λΏμ λλ€. λ¬Έμ λ₯Ό ν΄κ²°νλ €λ©΄ μ€ν κ°λ₯ν μΈλΆ μ 보λ₯Ό μΆκ°νκ³ μ μ νκ² κ²μν΄μΌ ν©λλ€.)
λ΄ μν©μμλ 2.2.0μ΄ "engine.io-client": "~3.3.1"μ μμ‘΄νλ κ²μΌλ‘ 보μ΄λ©°, μ΄λ "engine.io-parser": "~2.1.1"μ μμ‘΄ν©λλ€. κ·Έλ¬λ λ΄ μμ€ν μ engine.io-parserλ μ¬μ ν 'μ μ' λ³μμ λν μ°Έμ‘°λ₯Ό ν¬ν¨νλ 2.1.2μΈ κ² κ°μ΅λλ€. μ΄κ²μ 2.1.3μμ μμ λ κ² κ°μ§λ§ npm iλ 2.1.2λ₯Ό λΉκΈ°λ κ² κ°μ΅λλ€.
μΆμΈ‘ν΄μΌ νλ€λ©΄ 2.1.3μ λ§μ§λ§ λΉλκ° μ€ν¨νκΈ° λλ¬Έμ 2.1.2λ‘ λλμκ° κ² κ°μ΅λλ€.
https://travis-ci.org/socketio/engine.io-parser
κ·Έ μΈμ, λλ κ·Έκ²μ΄ λλ₯Ό μν΄ μ΄μ λ²μ μ κ³μ λμ΄ μ€λ μ΄μ λ₯Ό μ μ μμ΅λλ€.
Jest + React + Typescriptμ λμΌν λ¬Έμ κ° μμΌλ©° (window as any).global = window
μ€μ μ μμ ν μ μμ΅λλ€. polyfills.ts
νμΌμλ μ½λλ₯Ό λ£μ΄ 보μμ΅λλ€.
setupFiles: [
'<rootDir>/tst/polyfills.ts',
'<rootDir>/tst/jest.setup.ts',
],
λν Jestμ defineProperty λ©μλλ₯Ό μ¬μ©νμ§λ§ μ¬μ ν μ΄μ΄ μμ΅λλ€.
Object.defineProperty((window as any), 'global', {});
copyProps(window, global);
Jestλ₯Ό μν΄ μ΄ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ μ¬λμ΄ μμ΅λκΉ? μλλ©΄ μ΄ μμ μ μνν μ μλ λ°©λ²μ μκ³ μμ΅λκΉ? @amitport μ΄λ€ μκ°μ΄ μμ΅λκΉ?
κ°μ¬ ν΄μ,
@eldem λ° κΈ°ν. μ΄ μ€λ λκ° κ΄λ ¨λμ§ μμ λ¬Έμ μ μΌλ°μ μΈ νΌν©μ΄ λμκΈ° λλ¬Έμ μ΄ μ€λ λλ₯Ό λ«μ΅λλ€. global λ° socket.io-clientμ κ΄λ ¨λ λ¬Έμ λ₯Ό 보λ μ¬λμ΄ μμΌλ©΄ μ¬μμ° μ§μΉ¨, μ½μμ νμλλ μ€λ₯, μ¬μ©λ λ²μ λ±μ λν μ λ¬Έμ λ₯Ό μ΄μ΄μ£ΌμΈμ.
Ionic4/Angular7 μμ
- 2.1.1 μ€μΉ λ° \srcpolyfills.ts μ (window as any).global = window
μΆκ° μμ
- κ°μ¬ν©λλ€!
μμ λ΄ μ§λ¬Έμ λν΄: socket.io νμΌμ λ³ννλ λμ Babelμμ μ€λ₯κ° λ°μνμ΅λλ€. transformIgnoreμ μΆκ°νλ©΄ μ μκ² ν¨κ³Όμ μ΄μμ΅λλ€.
transformIgnorePatterns: [
'<rootDir>/node_modules/../lib/socket.io.js'
]
@amitport λ©μλ κ° μλ²½νκ² μλν©λλ€.
κ°μ₯ μ μ©ν λκΈ
https://github.com/angular/angular-cli/issues/8160#issuecomment -386153833μ λ°λ₯΄λ©΄:
λ€μ
polyfills.ts
μ μΆκ°νλ©΄Angular@6
μμ μλν©λλ€.μ΄λ€ κ²½μ°λ μ΄ λ¬Έμ λ IMOλ‘ ν΄κ²°λμ΄μλ μ λ©λλ€. socket.io-clientλ
global
μ λν μμμ μ’ μμ±μ μ κ±°νκ±°λ ν΄λ¦¬νμ΄ νμνλ€λ λ¬Έμλ₯Ό μμ±ν΄μΌ ν©λλ€. κ°λ μ¬μ©μ)(BTW μ΅μ
[email protected]
μ μΆμ²λ μ΄λμ λκΉ? μ κ° λμλ릴 μ μμ΅λλ€.)