Socket.io: 'uws', README λ˜λŠ” "package.json"을 μ—…λ°μ΄νŠΈν•  수 μ—†μŠ΅λ‹ˆκΉŒ?

에 λ§Œλ“  2018λ…„ 05μ›” 17일  Β·  20μ½”λ©˜νŠΈ  Β·  좜처: socketio/socket.io

μ°Έκ³  : 지원 질문의 경우 λ‹€μŒ 채널 쀑 ν•˜λ‚˜λ₯Ό μ‚¬μš©ν•˜μ‹­μ‹œμ˜€: stackoverflow λ˜λŠ” slack

μ›ν•˜λŠ” μž‘μ—…:

  • [x] 버그 보고
  • [ ] κΈ°λŠ₯ μš”μ²­

ν˜„μž¬ 행동

λ‚˜λŠ” socket.io의 λ§ˆμŠ€ν„° λΈŒλžœμΉ˜μ—μ„œ 예제 ν”„λ‘œμ νŠΈ webpack-build-server λ₯Ό λ‹€μš΄λ‘œλ“œν•˜κ³  npm install λ₯Ό μ‹€ν–‰ν•˜μ—¬ 쒅속성을 μ„€μΉ˜ν•˜κ³  λ§ˆμ§€λ§‰μœΌλ‘œ npm run build λ₯Ό μ‹€ν–‰ν•˜μ—¬ μ„œλ²„λ₯Ό λ²ˆλ“€λ‘œ μ‹œλ„ν•˜μ§€λ§Œ webpack이 μ œκ³΅ν•©λ‹ˆλ‹€. λ‹€μŒ 였λ₯˜:

ERROR in ./~/engine.io/lib/server.js Module not found: Error: Can't resolve 'uws' in '/Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server/node_modules/engine.io/lib' @ ./~/engine.io/lib/server.js 107:27-41 @ ./~/engine.io/lib/engine.io.js @ ./~/socket.io/lib/index.js @ ./lib/index.js

μž¬ν˜„ 단계(ν˜„μž¬ λ™μž‘μ΄ 버그인 경우)

  1. socket.io의 λ§ˆμŠ€ν„° 브랜치 λ‹€μš΄λ‘œλ“œ
  2. examples/webpack-build-server 둜 이동 ;
  3. npm install μ‹€ν–‰ ;
  4. npm run build μ‹€ν–‰ ;

μ°Έκ³  : λΉ λ₯Έ 닡변을 μ–»λŠ” κ°€μž₯ 쒋은 방법은 예λ₯Ό λ“€μ–΄ λ‹€μŒ λ°”μ΄μ˜¬λ¦° 을 λΆ„κΈ°ν•˜μ—¬ μ‹€νŒ¨ν•œ ν…ŒμŠ€νŠΈ 사둀λ₯Ό μ œκ³΅ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.

μ˜ˆμƒλ˜λŠ” 행동

server.js νŒŒμΌμ€ dist 폴더에 μƒμ„±λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ„€μ •

  • OS: macOS Hight SIerra
  • λΈŒλΌμš°μ €: μ‚¬νŒŒλ¦¬
  • socket.io 버전: 2.0.3

기타 정보(예: μŠ€νƒ 좔적, κ΄€λ ¨ 문제, ν•΄κ²° 방법 μ œμ•ˆ)

이것은 λ‚΄ 터미널에 인쇄 된 κ²ƒμž…λ‹ˆλ‹€.

````

[email protected] λΉŒλ“œ /Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server
μ›ΉνŒ© --config ./support/webpack.config.js

ν•΄μ‹œ: 997a1fd1ee0b1b064485
버전: μ›ΉνŒ© 2.7.0
μ‹œκ°„: 468ms
μžμ‚° 크기 청크 청크 이름
server.js 401 kB 0 [방좜됨] [큰] 기본
[0] ./~/debug/src/index.js 263λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
[7] ./~/socket.io-parser/index.js 8.04 kB {0} [λΉŒλ“œλ¨]
[16] ./~/engine.io/lib/socket.js 11.6kB {0} [λΉŒλ“œλ¨]
[17] ./~/engine.io/lib/transport/index.js 509λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
[19] ./~/socket.io-parser/is-buffer.js 712λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
[20] ./~/socket.io/lib/namespace.js 5.81kB {0} [λΉŒλ“œλ¨]
[31] ./~/socket.io/lib/index.js 12.9kB {0} [λΉŒλ“œλ¨]
[32] ./lib/index.js 474λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
[43] ./~/engine.io/lib/engine.io.js 2.38kB {0} [λΉŒλ“œλ¨]
[44] ./~/engine.io/lib/server.js 15.1kB {0} [λΉŒλ“œλ¨]
[58] ./~/socket.io-adapter/index.js 5.44 kB {0} [λΉŒλ“œλ¨]
[59] ./~/socket.io-client/package.json 3.19kB {0} [λΉŒλ“œλ¨]
[61] ./~/socket.io/lib 160λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
[62] ./~/socket.io/lib/client.js 5.9kB {0} [λΉŒλ“œλ¨]
[63] ./~/socket.io/lib/parent-namespace.js 917λ°”μ΄νŠΈ {0} [λΉŒλ“œλ¨]
+ 59개의 μˆ¨κ²¨μ§„ λͺ¨λ“ˆ

./~/ws/lib/Validation.js의 경고
λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: 였λ₯˜: '/Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server/node_modules/ws/lib'μ—μ„œ 'utf-8-validate'λ₯Ό 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.
@ ./~/ws/lib/Validation.js 10:22-47
@ ./~/ws/lib/Receiver.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js

./~/ws/lib/BufferUtil.js의 경고
λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: 였λ₯˜: '/Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server/node_modules/ws/lib'μ—μ„œ 'bufferutil'을 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.
@ ./~/ws/lib/BufferUtil.js 35:21-42
@ ./~/ws/lib/Receiver.js
@ ./~/ws/index.js
@ ./~/engine.io/lib/server.js
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js

./~/socket.io/lib/index.js의 경고
113:11-32 μ€‘μš”ν•œ 쒅속성: 쒅속성 μš”μ²­μ€ ν‘œν˜„μ‹μž…λ‹ˆλ‹€.

./~/engine.io/lib/server.js의 였λ₯˜
λͺ¨λ“ˆμ„ 찾을 수 μ—†μŒ: 였λ₯˜: '/Users/ZehuaChen/Downloads/socket.io-master/examples/webpack-build-server/node_modules/engine.io/lib'μ—μ„œ 'uws'λ₯Ό 확인할 수 μ—†μŠ΅λ‹ˆλ‹€.
@ ./~/engine.io/lib/server.js 107:27-41
@ ./~/engine.io/lib/engine.io.js
@ ./~/socket.io/lib/index.js
@ ./lib/index.js

npm 였λ₯˜! μ½”λ“œ ELIFECYCLE
npm 였λ₯˜! 였λ₯˜ 번호 2
npm 였λ₯˜! [email protected] λΉŒλ“œ: webpack --config ./support/webpack.config.js
npm 였λ₯˜! μ’…λ£Œ μƒνƒœ 2
npm 였λ₯˜!
npm 였λ₯˜! [email protected] λΉŒλ“œ μŠ€ν¬λ¦½νŠΈμ—μ„œ μ‹€νŒ¨ν–ˆμŠ΅λ‹ˆλ‹€.
npm 였λ₯˜! 이것은 μ•„λ§ˆλ„ npm의 λ¬Έμ œκ°€ 아닐 κ²ƒμž…λ‹ˆλ‹€. μœ„μ˜ μΆ”κ°€ λ‘œκΉ… 좜λ ₯이 μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

npm 였λ₯˜! 이 μ‹€ν–‰μ˜ 전체 λ‘œκ·ΈλŠ” λ‹€μŒμ—μ„œ 찾을 수 μžˆμŠ΅λ‹ˆλ‹€.
npm 였λ₯˜! /Users/ZehuaChen/.npm/_logs/2018-05-17T21_30_47_624Z-debug.log
````

μ—…λ°μ΄νŠΈ

uws νŒ¨ν‚€μ§€λ₯Ό μˆ˜λ™μœΌλ‘œ μ„€μΉ˜ν–ˆλŠ”λ° μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ‚˜ 같은 μ΄ˆλ³΄μžκ°€ 이것을 μ•Œμ•„λ‚΄λŠ” 것은 정말 μ–΄λ ΅κΈ° λ•Œλ¬Έμ— λˆ„κ΅°κ°€ README νŒŒμΌμ΄λ‚˜ package.json을 μ—…λ°μ΄νŠΈν•  수 μžˆμŠ΅λ‹ˆκΉŒ?

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

κ·Έλž˜μ„œ λ‚˜λŠ” λ˜‘κ°™μ€ 문제λ₯Ό κ²ͺμ—ˆμ§€λ§Œ 맀우 λ‹€λ₯Έ μ΄μœ μ˜€μŠ΅λ‹ˆλ‹€. ν˜„μž¬ npm uwsμ—μ„œ μ΅œμ‹  socket.io μ„œλ²„ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•  λ•Œ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

이것은 uws의 κ²Œμ‹œμžκ°€ μ΅œκ·Όμ— μ‹€μ œ μ½”λ“œ Dλ₯Ό λͺ¨λ‘ μ‚­μ œν•˜λŠ” 빈 νŒ¨ν‚€μ§€λ₯Ό μ—…λ‘œλ“œν–ˆκΈ° λ•Œλ¬Έμ— λ°œμƒν•©λ‹ˆλ‹€.

νŒŒκ΄΄λ˜μ§€ μ•Šμ€ λ§ˆμ§€λ§‰ 릴리슀λ₯Ό μ„€μΉ˜ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

원사 μΆ”κ°€ [email protected]
npm μ„€μΉ˜ [email protected]

λΉ„μ–΄ μžˆκ±°λ‚˜ μ‚¬μš©λ˜μ§€ μ•ŠλŠ” νŒ¨ν‚€μ§€ 링크: https://www.npmjs.com/package/uws

reddit의 톡찰λ ₯ μžˆλŠ” λ°°κ²½ 정보: https://www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/

무슨 일이 μžˆμ—ˆλŠ”μ§€ νŒŒμ•…ν•˜λŠ” 데 μ‹œκ°„μ΄ 걸리고 이 λ¬Έμ œκ°€ λˆ„κ΅°κ°€λ₯Ό ꡬ할 수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

λͺ¨λ“  20 λŒ“κΈ€

λ˜ν•œ λ™μΌν•œ κ²½κ³ κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

WARNING in ./~/ws/lib/BufferUtil.js
Module not found: Error: Can't resolve 'bufferutil' in '/Users/Ian/Code/ianpaschal/forge-server/node_modules/ws/lib'
 @ ./~/ws/lib/BufferUtil.js 35:21-42
 @ ./~/ws/lib/Sender.js
 @ ./~/ws/index.js
 @ ./~/engine.io/lib/server.js
 @ ./~/engine.io/lib/engine.io.js
 @ ./~/socket.io/lib/index.js
 @ ./src/server.js

WARNING in ./~/ws/lib/Validation.js
Module not found: Error: Can't resolve 'utf-8-validate' in '/Users/Ian/Code/ianpaschal/forge-server/node_modules/ws/lib'
 @ ./~/ws/lib/Validation.js 10:22-47
 @ ./~/ws/lib/Receiver.js
 @ ./~/ws/index.js
 @ ./~/engine.io/lib/server.js
 @ ./~/engine.io/lib/engine.io.js
 @ ./~/socket.io/lib/index.js
 @ ./src/server.js

WARNING in ./~/socket.io/lib/index.js
113:11-32 Critical dependency: the request of a dependency is an expression
// package.json
"webpack": "^2.7.0",
"socket.io": "^2.1.0",

ν•΄κ²°ν•˜μ…¨λ‚˜μš”? 같은 λ¬Έμ œκ°€ μžˆμŠ΅λ‹ˆλ‹€..

μ•„λ‹ˆμš”. 단지 경고일 λΏμ΄λ―€λ‘œ λͺ»μƒκΈ΄ μ½˜μ†” 좜λ ₯ μ΄μ™Έμ˜ νš¨κ³ΌλŠ” μ—†μ§€λ§Œ μ—¬μ „νžˆ μžˆμŠ΅λ‹ˆλ‹€.

npm start μ—μ„œ λ©ˆμΆ”μ§€ μ•Šκ³  였λ₯˜λ₯Ό λ¬΄μ‹œν•˜μ‹­μ‹œμ˜€.

λ…Έλ“œ μ „μš© 으둜 μ»΄νŒŒμΌν•˜λŠ” 경우 μ˜΅μ…˜μ„ μΆ”κ°€ν•΄μ•Ό 였λ₯˜κ°€ μ‚¬λΌμ§‘λ‹ˆλ‹€.
ꡬ성 νŒŒμΌμ— λ‹€μŒμ„ μΆ”κ°€ν•΄μ•Ό ν•©λ‹ˆλ‹€.

{
        ...
        target: 'node'
       ...
}

그렇지 μ•ŠμœΌλ©΄ μ›Ή μ „μš© 으둜 μ»΄νŒŒμΌν•˜λŠ” μ€‘μ΄λ―€λ‘œ μ˜΅μ…˜μ„ 전달할 ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€(default='web')(λ˜λŠ” target='web'). κ·ΈλŸ¬λ‚˜ 'uws'λŠ” λ²ˆλ“€μ—μ„œ μž‘λ™ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ μ œμ™Έν•΄μ•Ό ν•©λ‹ˆλ‹€. λΈŒλΌμš°μ €.
이 κ²½μš°μ—λŠ” λ‹€μŒμ„ μΆ”κ°€ν•΄μ•Ό ν•©λ‹ˆλ‹€.

{
        ...
        externals: {
            uws: "uws"
        },
       ...
}

@pirix-gh 이것은 λ¬Έμ œκ°€ μ•„λ‹Œ 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‚΄ κ΅¬μ„±μ—μ„œ :

const Webpack = require( "webpack" );

module.exports = {
    target: "node",
    node: {
        __dirname: true,
        __filename: true,
    },
    entry: {
        main: "./src/server.js",
    },
    plugins: [
        new Webpack.EnvironmentPlugin( [
            "NODE_ENV",
        ] ),
        new Webpack.IgnorePlugin( /uws/ )
    ],
};

@ianpaschal μ’‹μ•„, κ·Έλ ‡λ‹€λ©΄ λ‹€λ₯Έ ν”„λ‘œμ νŠΈλ‘œ ν”„λ‘œμ νŠΈλ₯Ό κ°€μ Έμ˜€κ³  μžˆμŠ΅λ‹ˆκΉŒ?

_ν”„λ‘œμ νŠΈ_1_

  • Index.js: _Socket.IO_ κ°€μ Έμ˜€κΈ°

_ν”„λ‘œμ νŠΈ_2_

  • Index.js: _Project_1_ κ°€μ Έμ˜€κΈ°

μ›ΉνŒ©: Project_2 컴파일
-> Project_2μ—μ„œ λͺ¨λ“ˆμ„ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

그리고 이것은 Project_2μ—μ„œ 쒅속성을 μ‘°νšŒν–ˆμ§€λ§Œ Project_1이 쒅속성을 λ³΄μœ ν•˜κ³  있기 λ•Œλ¬Έμ— λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.
이에 λŒ€ν•œ 해결책은 당신이 ν–ˆλ˜ κ²ƒμ²˜λŸΌ λˆ„λ½λœ 쒅속성을 μ„€μΉ˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€.
λ˜λŠ” Project_1을 κ²Œμ‹œν•œ λ‹€μŒ Project_2에 μ’…μ†μ„±μœΌλ‘œ κ°€μ Έμ˜΅λ‹ˆλ‹€.

μ΄λ ‡κ²Œ ν•˜λ©΄ μœ„μ—μ„œ μ œκ³΅ν•œ 였λ₯˜λ₯Ό μž¬ν˜„ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ λ°œμƒν•œ 이유λ₯Ό μ„€λͺ…ν•˜κ³  λ‹€λ₯Έ 방법을 μ œκ³΅ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

@Zehua-Chen Pleasure, λ¬Έμ œκ°€ ν•΄κ²°λ˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€. 항상 κ²Œμ‹œν•˜λŠ” 것이 μ–Όλ§ˆλ‚˜ μ„±κ°€μ‹  일인지 μ•Œκ³  μžˆμœΌλ―€λ‘œ... λΆ„ν•  ν”„λ‘œμ νŠΈμ˜ 경우 개발 쀑에 λ‹€μŒμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

npx @babel/node src/index.js λ˜λŠ”
node -r @babel/register src/index.js

λ˜λŠ” 버전에 따라

npx babel-node src/index.js λ˜λŠ”
node -r babel-register src/index.js

쒅속성을 μ˜¬λ°”λ₯΄κ²Œ ν•΄κ²°ν•˜κ³  μ‹€ν–‰ ν•˜μ§€λ§Œ ν”„λ‘œλ•μ…˜μ— μ ν•©ν•˜μ§€ μ•Šλ‹€λŠ” 것을 κΈ°μ–΅ν•˜μ‹­μ‹œμ˜€.
ν”„λ‘œλ•μ…˜μ—μ„œ μž‘μ—…ν•˜λŠ” 경우 νŒ¨ν‚€μ§€λ₯Ό λ³„λ„λ‘œ κ²Œμ‹œν•˜κ³  λŒ€μ‹  npm을 μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ‚˜λŠ” μ§€κΈˆ λ§Žμ€ 연ꡬλ₯Ό ν–ˆμ§€λ§Œ μ—¬μ „νžˆ λ¬Έμ œμ™€ ν•΄κ²° 방법을 μ΄ν•΄ν•˜μ§€ λͺ»ν–ˆμŠ΅λ‹ˆλ‹€.
λ‚˜λŠ” socket.ioλ₯Ό μ‚¬μš©ν•˜κ³  webpack으둜 λΉŒλ“œν•˜λŠ” 단일 ν”„λ‘œμ νŠΈ λ₯Ό 가지고 있으며 항상 λ™μΌν•œ 문제둜 μ‹€νŒ¨ν•©λ‹ˆλ‹€.

ERROR in ./node_modules/engine.io/lib/server.js
Module not found: Error: Can't resolve 'uws' in 'xxxxxxxx/node_modules/engine.io/lib'
 @ ./node_modules/engine.io/lib/server.js 107:27-41
 @ ./node_modules/engine.io/lib/engine.io.js
 @ ./node_modules/socket.io/lib/index.js

νŒ¨ν‚€μ§€.json

"dependencies": {
      "express": "^4.16.3",
      "socket.io": "^2.1.1"
   },
   "devDependencies": {
      "tslint": "^5.11.0",
      "typescript": "2.9.2",
      "uglifyjs-webpack-plugin": "^1.2.7",
      "webpack": "^4.16.4",
      "webpack-cli": "^3.1.0"
   },

μ›ΉνŒ©.config.js

const path = require('path');
const UglifyJsPlugin = require('uglifyjs-webpack-plugin');

module.exports = {
   target: 'node',
   mode: 'development',
   entry: './dist/index.js',
   output: {
      filename: 'index.js',
      path: path.resolve(__dirname, 'dist/00-bundle')
   },
   optimization: {
      minimizer: [
         new UglifyJsPlugin()
      ]
   }
};

@btxtiger λ…Έλ“œλ‘œ μž‘μ—…ν•  λ•Œ 쒅속성을 λ²ˆλ“€λ‘œ λ¬Άμ–΄μ„œλŠ” μ•ˆ 되기 λ•Œλ¬Έμž…λ‹ˆλ‹€(package.jsonκ³Ό ν•¨κ»˜ μ„€μΉ˜λ¨). μ›Ήμš© ν”„λ‘œμ νŠΈλ₯Ό λ²ˆλ“€λ‘œ λ¬ΆκΈ° λ•Œλ¬Έμ— webpack 의 κΈ°λ³Έ λ™μž‘μž…λ‹ˆλ‹€ .

이것을 conf에 μΆ”κ°€ν•˜λ©΄ package.json 을 읽어 쒅속성을 μ œμ™Έν•©λ‹ˆλ‹€.

const nodeExternals = require('webpack-node-externals');

module.exports = {
...
mode: 'development',
...
externals: [nodeExternals({
               modulesFromFile: true
          })];
...
}

μ΄λ ‡κ²Œν•˜λ©΄ (거의) κ²Œμ‹œ κ°€λŠ₯ν•œ νŒ¨ν‚€μ§€λ₯Ό 얻을 수 μžˆμŠ΅λ‹ˆλ‹€.

@pirix-gh κ°μ‚¬ν•©λ‹ˆλ‹€! μ•Œκ² μŠ΅λ‹ˆλ‹€. package.json을 톡해 λͺ¨λ“ˆμ„ μ„€μΉ˜/μ—…λ°μ΄νŠΈν•  ν•„μš” 없이 μ„œλ²„μ— ν‘Έμ‹œν•˜κΈ°λ§Œ ν•˜λ©΄ λ˜λŠ” 전체 λ²ˆλ“€μ„ λ§Œλ“€ 수 있기λ₯Ό λ°”λžμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 μ‹€μ œλ‘œ κ°€λŠ₯ν•œμ§€ ν™•μ‹€ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. socket.io의 였λ₯˜λ₯Ό μ œμ™Έν•˜κ³ λŠ” μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

@btxtiger λ‘œμ»¬μ—μ„œ ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 쒅속성 κ·œμΉ™μ„ μœ„λ°˜ν•˜λ―€λ‘œ NPM에 κ²Œμ‹œν•˜μ§€ λ§ˆμ‹­μ‹œμ˜€.
uwsλŠ” Node.js둜 λž˜ν•‘λœ C++ λͺ¨λ“ˆ 이기 λ•Œλ¬Έμ— npm i λ₯Ό μ‚¬μš©ν•  λ•Œ μ¦‰μ„μ—μ„œ μ»΄νŒŒμΌλ©λ‹ˆλ‹€.
λ”°λΌμ„œ ν‘œμ€€ js처럼 λ²ˆλ“€λ‘œ 제곡될 수 μ—†μœΌλ©° λŒ€μ‹  μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€(μ΄λŠ” OS에 λŒ€ν•œ μ»΄νŒŒμΌμ„ νŠΈλ¦¬κ±°ν•¨ ).
κ·Έλ ‡κΈ° λ•Œλ¬Έμ— 항상 NPM 쒅속성 μ‹œμŠ€ν…œμ„ μ‚¬μš©ν•΄μ•Ό ν•˜λ©° 그런 μ§ˆλ¬Έμ„ μŠ€μŠ€λ‘œμ—κ²Œ ν•  ν•„μš”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

μ—¬μ „νžˆ μ΄λ ‡κ²Œ ν•˜λ €λ©΄ uwsλ₯Ό μ œμ™Έν•΄ λ³΄μ‹­μ‹œμ˜€.

{
        ...
        externals: {
            uws: "uws"
        },
       ...
}

@pirix-gh ν›Œλ₯­ν•©λ‹ˆλ‹€. μ„€λͺ…ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. webpack으둜 λΉŒλ“œν•˜λŠ” λ™μ•ˆ λͺ¨λ“  dev 쒅속성을 μ œμ™Έν•˜κ³  μ‹œμž‘ν•˜κΈ° 전에 항상 npm install을 μ‹€ν–‰ν•˜λŠ” μ΅œμ ν™”λœ package.json으둜 μ΄λ™ν–ˆμŠ΅λ‹ˆλ‹€. ν˜„μž¬λ‘œμ„œλŠ” 졜고의 μ†”λ£¨μ…˜μΈ 것 κ°™μŠ΅λ‹ˆλ‹€.

μ™„μ „νžˆ 디버깅할 μ‹œκ°„μ΄ μ—†μ—ˆμ§€λ§Œ karma^2.0.0 μ—μ„œ karma^3.0.0 둜 μ—…κ·Έλ ˆμ΄λ“œν•  λ•Œ webpack λΉŒλ“œμ—μ„œ λ‹€μŒ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

Module not found: Error: Can't resolve 'uws'

λ”°λΌμ„œ Karmaλ₯Ό 2.0.0 둜 μœ μ§€ν•˜λŠ” 것이 ν•΄κ²°μ±…μ΄μ—ˆμŠ΅λ‹ˆλ‹€.

socket.ioλ₯Ό κ°€μ Έμ˜€κ±°λ‚˜ μš”μ²­ν•  λ•Œλ§ˆλ‹€ 이 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€. μˆ˜λ™μœΌλ‘œ uws μ„€μΉ˜λ₯Ό μ‹œλ„ν–ˆμ§€λ§Œ Nodeμ—μ„œ μ—¬μ „νžˆ uwsλ₯Ό ν•΄κ²°ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

저도 이 λ¬Έμ œκ°€ λ°œμƒν•˜λŠ”λ° μ–΄λ–»κ²Œ ν•΄κ²°ν•΄μ•Ό 할지 λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€.

Webpack/ν”„λ‘ νŠΈ μ—”λ“œ μ—¬λŸ¬λΆ„, ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ μ•±μ—μ„œ 일뢀 WebSocket μ„œλ²„μ— μ—°κ²°ν•˜κΈ° μœ„ν•΄ SocketIOκ°€ ν•„μš”ν•œ 경우 λ‹€μŒμ„ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€. https://github.com/socketio/socket.io-client

λ‚΄ Module not found: Error: Can't resolve 'uws' 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€!

κ·Έλž˜μ„œ λ‚˜λŠ” λ˜‘κ°™μ€ 문제λ₯Ό κ²ͺμ—ˆμ§€λ§Œ 맀우 λ‹€λ₯Έ μ΄μœ μ˜€μŠ΅λ‹ˆλ‹€. ν˜„μž¬ npm uwsμ—μ„œ μ΅œμ‹  socket.io μ„œλ²„ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•  λ•Œ 찾을 수 μ—†μŠ΅λ‹ˆλ‹€.

이것은 uws의 κ²Œμ‹œμžκ°€ μ΅œκ·Όμ— μ‹€μ œ μ½”λ“œ Dλ₯Ό λͺ¨λ‘ μ‚­μ œν•˜λŠ” 빈 νŒ¨ν‚€μ§€λ₯Ό μ—…λ‘œλ“œν–ˆκΈ° λ•Œλ¬Έμ— λ°œμƒν•©λ‹ˆλ‹€.

νŒŒκ΄΄λ˜μ§€ μ•Šμ€ λ§ˆμ§€λ§‰ 릴리슀λ₯Ό μ„€μΉ˜ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

원사 μΆ”κ°€ [email protected]
npm μ„€μΉ˜ [email protected]

λΉ„μ–΄ μžˆκ±°λ‚˜ μ‚¬μš©λ˜μ§€ μ•ŠλŠ” νŒ¨ν‚€μ§€ 링크: https://www.npmjs.com/package/uws

reddit의 톡찰λ ₯ μžˆλŠ” λ°°κ²½ 정보: https://www.reddit.com/r/node/comments/91kgte/uws_has_been_deprecated/

무슨 일이 μžˆμ—ˆλŠ”μ§€ νŒŒμ•…ν•˜λŠ” 데 μ‹œκ°„μ΄ 걸리고 이 λ¬Έμ œκ°€ λˆ„κ΅°κ°€λ₯Ό ꡬ할 수 있기λ₯Ό λ°”λžλ‹ˆλ‹€.

μ €μ—κ²ŒλŠ” CLI λ˜λŠ” ꡬ성을 ν†΅ν•œ --target node κ°€ ν•΅μ‹¬μ΄μ—ˆκ³  제 λͺ¨λ“  문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰