Socket.io-client: IE์—์„œ ํŒŒ์ผ ๋กœ๋“œ ์‹คํŒจ

์— ๋งŒ๋“  2019๋…„ 09์›” 25์ผ  ยท  31์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: socketio/socket.io-client

t.log = ํ•จ์ˆ˜(...e) {
return "object" == typeof console && console.log && console.log(...e)
}
์ด ์ฝ”๋“œ๋Š” IE11์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
์‹๋ณ„์ž ์˜ค๋ฅ˜๊ฐ€ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ํ™œ์„ฑ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋Œ€์‹  transpile node_modules๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ฐ€์šด๋ฐ ์†๊ฐ€๋ฝ์ž…๋‹ˆ๋‹ค.
node_modules์˜ ๋ชจ๋“  ๊ฒƒ์„ ์ผ๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ ์‹œ๊ฐ„(๋•Œ๋กœ๋Š” ๋ช‡ ๋ถ„์—์„œ ํ•œ ์‹œ๊ฐ„)์˜ 4๋ฐฐ ์ด์ƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฏ€๋กœ ๋ณ€ํ™˜ํ•  ๊ฐ ํŒจํ‚ค์ง€๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๊ทธ๋Ÿด ์‹œ๊ฐ„์ด ์—†์Šต๋‹ˆ๋‹ค.
์˜ค๋Š˜๋‚  ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์—ฌ์ „ํžˆ Firefox๋ณด๋‹ค IE11์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. IE11์€ ์—ฌ์ „ํžˆ โ€‹โ€‹Microsoft์—์„œ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. JS ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ฒŒ ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฐœ์ธ์ ์ธ ์‹ ๋…์„ ๊ฐ•์š”ํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์•„๋ฌด ์†Œ์šฉ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  31 ๋Œ“๊ธ€

v2.3.0 ๋ฐ IE 11์—์„œ๋„ ๋™์ผ

v2.3.0 ๋ฐ IE 11์—์„œ๋„ ๋™์ผ

์šฐ๋ฆฌ๋Š” 2.2.0์œผ๋กœ ๋˜๋Œ์•„๊ฐ”๊ณ  ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋˜ํ•œ 2.2.0์œผ๋กœ ๋˜๋Œ๋ ธ๊ณ  ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“ˆ์—์„œ ๋‚ด๋ณด๋‚ธ ์ฝ”๋“œ๊ฐ€ ์œ ํšจํ•œ ES5๊ฐ€ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ธ€์Ž„, ๊ทธ๊ฒƒ์€ babel์— ์˜ํ•ด ํŠธ๋žœ์ŠคํŒŒ์ผ๋˜์—ˆ์–ด์•ผ ํ–ˆ๋‹ค... ๋‚˜๋Š” ์ด๊ฒƒ์„ ์‚ดํŽด๋ณด๊ฒ ๋‹ค.

๋ฅด์ฅฌ. 9์›” 26์ผ 2019 ร  11:09, orangejuice ์•Œ๋ฆผ @github.com a
์—ํฌ๋ฆฌํŠธ :

๋‚˜๋Š” ๋˜ํ•œ 2.2.0์œผ๋กœ ๋˜๋Œ๋ ธ๊ณ  ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

โ€”
์ด ์Šค๋ ˆ๋“œ์— ๊ฐ€์ž…ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ณ  GitHub์—์„œ ํ™•์ธ
https://github.com/socketio/socket.io-client/issues/1328?email_source=notifications&email_token=ADDNSFI5LWY4MJXY24WZNNLQLR333A5CNFSM4I2MYYBKYY3PNVWWK3TUL52HS4VMVXVEXG
๋˜๋Š” ์Šค๋ ˆ๋“œ ์Œ์†Œ๊ฑฐ
https://github.com/notifications/unsubscribe-auth/ADDNSFNC7OUW4Z3BEWLSNRLQLR333ANCNFSM4I2MYYBA
.

์ด๊ฒƒ์€ ๋ฐฐํฌ ๊ฐ€๋Šฅ ํ•ญ๋ชฉ์—์„œ ํ™•์‚ฐ ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋Š” v3์—์„œ v4๋กœ ๋””๋ฒ„๊ทธ๋ฅผ ์—…๋ฐ์ดํŠธํ•œ ํ›„์— ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.
๋งค์šฐ ์ž์ฃผ node_modules๋Š” ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ babel ์ปดํŒŒ์ผ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

IE11์—์„œ๋„ ์ด๊ฒƒ์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค.

"SyntaxError: Syntax error
   at ../node_modules/socket.io-client/node_modules/debug/src/browser.js (http://192.168.86.48:3000/static/vendors~vehicle-Vehicle.jsx.eb6d2ebd6bfc7172757c.js:510:1)
   at __webpack_require__ (http://192.168.86.48:3000/static/client.js?1571655164758:107:12)
   at eval code (eval code:7:1)
   at ../node_modules/socket.io-client/lib/url.js (http://192.168.86.48:3000/static/vendors~vehicle-Vehicle.jsx.eb6d2ebd6bfc7172757c.js:488:1)
   at __webpack_require__ (http://192.168.86.48:3000/static/client.js?1571655164758:107:12)
   at eval code (eval code:6:1)
   at ../node_modules/socket.io-client/lib/index.js (http://192.168.86.48:3000/static/vendors~vehicle-Vehicle.jsx.eb6d2ebd6bfc7172757c.js:444:1)
   at __webpack_require__ (http://192.168.86.48:3000/static/client.js?1571655164758:107:12)
   at eval code (eval code:55:22)
   at ./shared/components/catalogue/ValuationCatalogue.jsx (http://192.168.86.48:3000/static/vehicle-Vehicle.jsx.b7e97db41986fa53caa6.js:344:1)"

์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋ผ์ธ

/**
 * Invokes `console.log()` when available.
 * No-op when `console.log` is not a "function".
 *
 * <strong i="9">@api</strong> public
 */
function log(...args) {
    // This hackery is required for IE8/9, where
    // the `console.log` function doesn't have 'apply'
    return typeof console === 'object' &&
        console.log &&
        console.log(...args);
}

ํŠธ๋žœ์ŠคํŒŒ์ผ๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋กœ ์‹๋ณ„๋˜์—ˆ์œผ๋ฏ€๋กœ ์ถ”๊ฐ€ํ•  ๋‚ด์šฉ์ด ๋งŽ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

v2.3.0 ๋ฐ IE 11์—์„œ๋„ ๋™์ผ

๋ฐ iOS9 ์‚ฌํŒŒ๋ฆฌ

์ด๊ฒƒ์€ ์ž๋™์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œ๋œ ํฌ์ธํŠธ ๋ฆด๋ฆฌ์Šค์˜ ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ IE11์„ ์ง€์›ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ์ด๊ฒƒ์€ ๋งค์šฐ ์‹ฌ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊นจ๋‹ซ๋Š” ๋ฐ ๋ฉฐ์น ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์–ผ๋งˆ๋‚˜ ๊ฑธ๋ฆด ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜์‹ญ๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ๋Š” debug:4.1.0 ์™€ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์ด๋ฏธ ๋ฉ”์„œ๋“œ๋ฅผ ๊ต์ฒดํ–ˆ์ง€๋งŒ ์ด ๋ฌธ์ œ๊ฐ€ ์ˆ˜์ •๋œ ์ƒˆ ๋นŒ๋“œ๋Š” ์—†์Šต๋‹ˆ๋‹ค.

socket.io-client ๋ฐ engine.io-client ๋Œ€ํ•œ ์ˆ˜์ •์€ ํ˜„์žฌ ๋ฒ„์ „ debug ์„ 4.0.1 ๋ฒ„์ „์œผ๋กœ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ถˆํ–‰ํžˆ๋„ debug ๋Š” ์šฐ๋ฆฌ์˜ ๋ฌธ์ œ๋ฅผ ์ „ํ˜€ ๋“ฃ๊ณ  ์‹ถ์–ดํ•˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/visionmedia/debug/issues/668#issuecomment -576262641

์•ˆ๋…•ํ•˜์„ธ์š” @darrachequesne์ž…๋‹ˆ๋‹ค :)

socket.io-client ์— ๋Œ€ํ•œ debug ํŒจํ‚ค์ง€๋ฅผ 4.0.1 ์žˆ์Šต๋‹ˆ๊นŒ? ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๊ทธ ๋™์•ˆ ๋‚˜๋Š” debug ์˜ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ ‘๊ทผํ•˜๋ ค๊ณ  ์‹œ๋„ํ–ˆ๊ณ  ๋” ์ด์ƒ ํŒจํ‚ค์ง€๋ฅผ ES5 ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๊ธฐ๋กœ ํ•œ ๊ทธ์˜ ์„ ํƒ์„ ๋‹ค์‹œ ๊ณ ๋ คํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. https://github.com/ ๋น„์ „๋ฏธ๋””์–ด/๋””๋ฒ„๊ทธ/์ด์Šˆ/745

๋‚˜๋Š” ๊ทธ ๋ฌธ์ œ๋ฅผ ์ˆ˜์ฒœ ๋ฒˆ ๋“ค์—ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ์ฒ˜์Œ ๋งŒ๋“ค์–ด์กŒ์„ ๋•Œ๋ถ€ํ„ฐ ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๊ตฌ์‹ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ž‘๋™ํ•˜๋ ค๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋ณ€ํ™˜ํ•˜์‹ญ์‹œ์˜ค. debug ๋Š” ES6 ๋ชจ๋“ˆ๋กœ ์ž‘์„ฑ๋˜๊ณ  ๊ฒŒ์‹œ๋˜๋Š” ๋งŽ์€ ์ข…์†์„ฑ ์ค‘ ์ฒซ ๋ฒˆ์งธ์— ๋ถˆ๊ณผํ•ฉ๋‹ˆ๋‹ค.

๋งค์šฐ ์ž์ฃผ node_modules๋Š” ์„ฑ๋Šฅ์ƒ์˜ ์ด์œ ๋กœ babel ์ปดํŒŒ์ผ์—์„œ ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ž์‹ ์˜ ์ฝ”๋“œ๋ฅผ ์„๊ธฐ ์‹œ๋Œ€์— ๊ณ ์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—์ฝ”์‹œ์Šคํ…œ์€ ๋Š๋ฆฌ์ง€๋งŒ ์˜ˆ๋ฅผ ๋“ค์–ด IE11์ด ์šฐ๋ฆฌ๋ฅผ ์–ต์ œํ•  ๋•Œ ๋” ๋Š๋ฆฝ๋‹ˆ๋‹ค. debug ๊ฐ€ ๋งŽ์ด ์„ ํƒ๋˜๋Š” ์ด์œ ๋Š” ํŒจํ‚ค์ง€์— ๊ฐ€์žฅ ๋งŽ์ด ์˜์กดํ•˜๋Š” ์ƒ์œ„ 10๊ฐœ ์ค‘ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ 100๊ฐœ์˜ ๋‹ค๋ฅธ ์ข…์†์„ฑ์ด ์†๋„๋ฅผ ๋Šฆ์ถ”๋”๋ผ๋„ ์˜ค๋ฅ˜๋‚˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ํŒจํ‚ค์ง€ ์ค‘ ํ•˜๋‚˜์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋‹ค์šด๋„.

์ˆ˜๋™ transpile, ์ €๋ฅผ ๋ฏฟ์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์— debug ๋‹น์‹ ์˜ node_modules ์•ฑ์„ ๋‹ค์‹œ ๋ฒˆ๋“คํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํฌ๊ธฐ์— ๋”ฐ๋ผ ๋ฒˆ๋“ค๋ง ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋‹ค๋ฅธ ๊ณณ์—์„œ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

Babel์˜ ํšจ์œจ์„ฑ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ Babel์—์„œ ๋ฌธ์ œ๋ฅผ ์—ฝ๋‹ˆ๋‹ค. CRA๊ฐ€ ์ ์ ˆํ•œ ๋ณ€ํ™˜์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ CRA์— ๋ฌธ์ œ๋ฅผ ์—ฝ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ด๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹จ์ง€ debug ์˜ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

์—ฌ๊ธฐ ์ด ๋งํฌ socket-io-client ๋‚ด๋ถ€์˜ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ณ์€; ์ด๊ฒƒ์ด Babel ํŒ€์˜ ๊ณต์‹ ๋‹ต๋ณ€์ž…๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์— ๋ฌธ์ œ๋ฅผ ๊ฐ€์ ธ๊ฐ€์„ธ์š”.

์–ด๋–ค ๊ณต์‹ ๋ฐ˜์‘? ์—ฐ๊ฒฐ๋œ ๋ฌธ์ œ๋Š” ๊ตฌ์„ฑ๋  ๋•Œ node_modules์—์„œ ์„ ํƒํ•œ ํŒจํ‚ค์ง€๋ฅผ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š” babel์— ๊ด€ํ•œ ๊ฒƒ์ด์—ˆ์œผ๋ฉฐ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Socket.io-client๋Š” ๋ณ€ํ™˜์„ ์œ„ํ•ด babel๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์›นํŒฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์ข…์†์„ฑ์„ ๋‹จ์ผ ๋ฐฐํฌ ๊ฐ€๋Šฅ์œผ๋กœ ๋ฌถ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ด์ œ socket.io-client๊ฐ€ ์ด์ „ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜๋ ค๋ฉด ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ๋ณ€ํ™˜ ๋‹จ๊ณ„๊ฐ€ ํ•„์š”ํ•˜๊ฑฐ๋‚˜ ๋””๋ฒ„๊ทธ๋ฅผ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜๊ฑฐ๋‚˜ ๊ต์ฒดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฒˆ์—ญ์ด ํ•„์š”ํ•œ ์›น์šฉ ํŒจํ‚ค์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ๊ทธ๋ ‡๊ฒŒ ์ผ๋ฐ˜์ ์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ช‡ ๋…„ ๋™์•ˆ ๋ณ€ํ™˜ํ•˜๋Š” ๋™์•ˆ node_modules์—์„œ ๋ง ๊ทธ๋Œ€๋กœ GB์˜ ์ข…์†์„ฑ์ด ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ๋„ ๋ช‡ ๋ฒˆ๋งŒ ๋งˆ์ฃผ์ณค์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ๊นŒ์ง€ ๋ชจ๋“  ๊ด€๋ฆฌ์ž๋Š” ๊ทธ๊ฒƒ์„ ๋ฒ„๊ทธ๋กœ ์ทจ๊ธ‰ํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ํ›Œ๋ฅญํ–ˆ์Šต๋‹ˆ๋‹ค...

์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ์–ธ๊ธ‰ํ•œ ์‘๋‹ต์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๊ฒƒ์ด debug ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹ˆ๋ผ Babel์ด ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์—ˆ๋Š”์ง€์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ผ๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

๋…ธ๋“œ ๋ชจ๋“ˆ์„ ํŠธ๋žœ์ŠคํŒŒ์ผํ•˜๋„๋ก Babel์„ ๊ตฌ์„ฑํ–ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์กฐ์‚ฌ๋ฅผ ์œ„ํ•ด ๋ณต์ œํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ์†Œ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”.


๋”ฐ๋ผ์„œ ์ด์ œ socket.io-client๊ฐ€ ์ด์ „ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ง€์›๋˜๋ ค๋ฉด . . . ๋ฒˆ์—ญ ๋‹จ๊ณ„

์˜ณ์€. ์ด๊ฒƒ์ด ํ˜„๋Œ€ ์›น ๊ฐœ๋ฐœ์˜ ์ƒํƒœ์ž…๋‹ˆ๋‹ค.

node_modules์—์„œ ๋ง ๊ทธ๋Œ€๋กœ GB์˜ ์ข…์†์„ฑ

์ด๊ฒƒ์ด ์ง„์งœ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. debug ํ•˜์ง€ ์•Š๊ธฐ๋กœ ์„ ํƒํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ES6 ๋ชจ๋“ˆ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉํ•˜๋Š” ์ข…์†์„ฑ๋งŒ ๋ฒˆ๋“ค๋กœ ๋ฌถ๊ณ  ์‚ฌ์šฉํ•˜๋Š” ์ข…์†์„ฑ๋งŒ ํŠธ๋žœ์ŠคํŒŒ์ผํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ๋žŒ๋“ค์€ ๋งค์ผ ํฐ ํšจ๊ณผ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ์ด๊ฒƒ์„ ํ•ฉ๋‹ˆ๋‹ค.

์ง€๊ธˆ๊นŒ์ง€ ๋ชจ๋“  ๊ด€๋ฆฌ์ž๋Š” ๊ทธ๊ฒƒ์„ ๋ฒ„๊ทธ๋กœ ์ทจ๊ธ‰ํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ํ›Œ๋ฅญํ–ˆ์Šต๋‹ˆ๋‹ค...

์™„๋ฒฝํ•˜๊ฒŒ ์œ ํšจํ•œ ๋ฒ„์ „์˜ Javascript๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฒ„๊ทธ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ํ™œ์„ฑ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋Œ€์‹  transpile node_modules๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ฐ€์šด๋ฐ ์†๊ฐ€๋ฝ์ž…๋‹ˆ๋‹ค.
node_modules์˜ ๋ชจ๋“  ๊ฒƒ์„ ์ผ๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ๋นŒ๋“œ ์‹œ๊ฐ„(๋•Œ๋กœ๋Š” ๋ช‡ ๋ถ„์—์„œ ํ•œ ์‹œ๊ฐ„)์˜ 4๋ฐฐ ์ด์ƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋ฏ€๋กœ ๋ณ€ํ™˜ํ•  ๊ฐ ํŒจํ‚ค์ง€๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ฌด๋„ ๊ทธ๋Ÿด ์‹œ๊ฐ„์ด ์—†์Šต๋‹ˆ๋‹ค.
์˜ค๋Š˜๋‚  ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์—ฌ์ „ํžˆ Firefox๋ณด๋‹ค IE11์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. IE11์€ ์—ฌ์ „ํžˆ โ€‹โ€‹Microsoft์—์„œ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. JS ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ฒŒ ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฐœ์ธ์ ์ธ ์‹ ๋…์„ ๊ฐ•์š”ํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์•„๋ฌด ์†Œ์šฉ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ํ™œ์„ฑ ํ™˜๊ฒฝ์„ ์ง€์›ํ•˜๋Š” ํŒจํ‚ค์ง€๋ฅผ ๊ฒŒ์‹œํ•˜๋Š” ๋Œ€์‹  transpile node_modules๋ผ๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์€ ๋น„์ฆˆ๋‹ˆ์Šค๋ฅผ ์šด์˜ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๊ฐ€์šด๋ฐ ์†๊ฐ€๋ฝ์ž…๋‹ˆ๋‹ค.

๊ทธ๊ฒƒ์€ ์‹ค์ œ๋กœ ๊ฑด์„ค์ ์ธ ํƒœ๋„๊ฐ€ ์•„๋‹ˆ๋ฉฐ ๊ฐœ์ธ์ ์œผ๋กœ ์˜คํ”ˆ ์†Œ์Šค์—์„œ ๊ฐ–๊ณ  ์‹ถ์€ ๊ทธ๋Ÿฐ ์ข…๋ฅ˜์˜ ๋‹ด๋ก ๋„ ์•„๋‹™๋‹ˆ๋‹ค.

๋‚ด ๋ง์„ ์—ฌ๊ธฐ์—์„œ ํ•œ ๊ฒƒ ๊ฐ™์•„์š”. ์ผ์ฃผ์ผ์— ๊ฑฐ์˜ 6์ฒœ๋งŒ ๋ฒˆ ๋‹ค์šด๋กœ๋“œ๋˜๋Š” ๋ชจ๋“ˆ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๊ฐœ์„ ํ•˜๊ธฐ๋กœ ํ•œ ๊ฒฐ์ •์ด ๊ท€ํ•˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์— ๋งž์ง€ ์•Š์•„ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  ๋” ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์—ฌ์ „ํžˆ Firefox๋ณด๋‹ค IE11์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. IE11์€ ์—ฌ์ „ํžˆ โ€‹โ€‹Microsoft์—์„œ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. JS ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ฒŒ ์›€์ง์ด์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฐœ์ธ์ ์ธ ์‹ ๋…์„ ๊ฐ•์š”ํ•˜๋Š” ๊ฒƒ์€ ์‹ค์ œ๋กœ ์•„๋ฌด ์†Œ์šฉ์ด ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ฒฝ์šฐ์˜ ๋ฌธ์ œ๋Š” ๋‚ด ๋ฐฉ๋ฌธ์ž์˜ 25%๊ฐ€ ๋ฐฉ๋ฌธํ•œ ํ›„ ie11์„ ์‚ฌ์šฉํ•˜๋Š” ํšŒ์‚ฌ๊ฐ€ ๋” ๋งŽ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‚˜๋Š” ๊ฐ€์šด๋ฐ ์†๊ฐ€๋ฝ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์ง€๋งŒ ์‚ฌ์—…์„ ํ•  ๋•Œ ๋ˆ์„ ์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์˜ฅ์— ๋ณด๋‚ผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค :)

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ˜„์žฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ํ˜„์žฌ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

2.2.0 fmoessle ํ›„์— ํ•  ์ˆ˜ ์žˆ์„ ๋•Œ

socket.io-client ๋ชจ๋“ˆ์—์„œ ๋ฒ„๊ทธ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•„๋‚ด๋Š”๋ฐ 3์ผ์ด ๊ฑธ๋ ธ์Šต๋‹ˆ๋‹ค.

๋‚˜๋„ ๋ชจ๋“ˆ ๋ฒ„์ „์„ 2.2.0์œผ๋กœ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œ ๋ชจ๋‘ ํ™˜ํ˜ธ

2.2.0์œผ๋กœ ๋‹ค์šด ๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ๋„ ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌ ํ•ด์š”.

์•„๋งˆ๋„ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ socket.io๋ฅผ es5 ๋กœ ๋ณ€ํ™˜ ๋˜๋Š” ๋””๋ฒ„๊ทธ

๋‚˜๋Š” ๋””๋ฒ„๊ทธ/src/browser.js๋ฅผ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด babel๊ณผ webpack์„ ์–ป์œผ๋ ค๊ณ  ํ•˜๋ฃจ ์ข…์ผ ๋…ธ๋ ฅํ–ˆ๊ณ  ๋‚ด๊ฐ€ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ•œ ๋งŽ์€ ์Šค๋ ˆ๋“œ์—์„œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋ง ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ  socket.io v2.2.0์€ 'ws' v7.1.2(https://github.com/websockets/ws/issues/1617)์—์„œ ์ˆ˜์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์กฐ์‹ฌํ•ด์„œ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜์„ธ์š”.

์ˆ˜์ •: ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค
๋‚ด๊ฐ€ ์ฐพ์€ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒŒ์‹œ๋ฌผ์€ webpack์—์„œ /node_modules/ ์ œ์™ธ๋ฅผ ์ค‘์ง€ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ณ  ์†๋„๋„ ๋Š๋ฆฝ๋‹ˆ๋‹ค. (์›นํŒฉ์ด ํŒŒ์ผ์„ ์น˜๊ณ  ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ babel์€ ๊ทธ๊ฒƒ์„ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ babel/preset-env์™€ ๊ด€๋ จ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค)

๋Œ€์‹ , ๋ฐฉ๊ธˆ debug-es5 ๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  webpack.config.js์— ์ด๊ฒƒ์„ ์ถ”๊ฐ€ํ•˜์—ฌ debug ๋Œ€์‹  webpack์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

  resolve: {
    alias: {
      debug: 'debug-es5',
    },
  },

๋‚˜๋Š” ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค :

{
  test: /\.js$/,
  use: babelLoader,
  exclude: excludeNodeModulesExcept(['debug']),
},
const babelLoader = {
    loader: 'babel-loader',
    options: {
      // Don't waste time on Gzipping the cache
      cacheCompression: false,
      // This is a feature of `babel-loader` for webpack (not Babel itself).
      // It enables caching results in ./node_modules/.cache/babel-loader/
      // directory for faster rebuilds.
      cacheDirectory: true,
      plugins: ['@babel/plugin-syntax-dynamic-import'],
      presets: [['@babel/env', { modules: false }]],
      sourceMaps: includeSourcemap && !isDevelopmentMode,
    },
  };



md5-af1f69980cb7fa352eba1d2f79ce2612



const excludeNodeModulesExcept = function (modules) {
  var pathSep = path.sep;
  if (pathSep == '\\')
    // must be quoted for use in a regexp:
    pathSep = '\\\\';
  var moduleRegExps = modules.map(function (modName) {
    return new RegExp('node_modules' + pathSep + modName);
  });

  return function (modulePath) {
    if (/node_modules/.test(modulePath)) {
      for (var i = 0; i < moduleRegExps.length; i++)
        if (moduleRegExps[i].test(modulePath)) return false;
      return true;
    }
    return false;
  };
};

socket.io-client๋ฅผ 2.2.0์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ์ž‘๋™ํ•˜์ง€๋งŒ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋นŒ๋“œํ•˜๊ณ  ์‹œ์ž‘ํ•œ ํ›„์—๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

dev ๋ชจ๋“œ์—์„œ ์—ฌ์ „ํžˆ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

TypeError: ๊ฐœ์ฒด๊ฐ€ 'cbrt' ์†์„ฑ ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
{
[๊ธฐ๋Šฅ]: ,
__proto__: { },
์„ค๋ช…: "๊ฐœ์ฒด๊ฐ€ 'cbrt' ์†์„ฑ ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค",
๋ฉ”์‹œ์ง€: "๊ฐœ์ฒด๊ฐ€ 'cbrt' ์†์„ฑ ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค",
์ด๋ฆ„: "TypeError",
๋ฒˆํ˜ธ: -2146827850,
์Šคํƒ: "TypeError: ๊ฐœ์ฒด๊ฐ€ 'cbrt' ์†์„ฑ ๋˜๋Š” ๋ฉ”์„œ๋“œ๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
cielabForwardTransform์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39754:3)
fromXYZ์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39763:3)
at lighten(ํ‰๊ฐ€ ์ฝ”๋“œ:39706:3)
genVariations์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39696:5)
๊ตฌ๋ฌธ ๋ถ„์„ ์‹œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39606:7)
parsedTheme.get์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39498:7)
generatedStyles.get์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39466:7)
Theme.prototype.applyTheme์—์„œ (ํ‰๊ฐ€ ์ฝ”๋“œ:39297:5)
ํ•ธ๋“ค๋Ÿฌ์—์„œ(ํ‰๊ฐ€ ์ฝ”๋“œ:39449:13)
Vue.prototype.$watch์—์„œ (ํ‰๊ฐ€ ์ฝ”๋“œ:4941:9)",
Symbol(Lang fallback)_i.t81c9tw05xo: ์ •์˜๋˜์ง€ ์•Š์Œ,
๊ธฐํ˜ธ(react.element)_h.t81c9tw05xo: ์ •์˜๋˜์ง€ ์•Š์Œ,
๊ธฐํ˜ธ(์ค‘์ง€)_n.t81c9tw05xo: ์ •์˜๋˜์ง€ ์•Š์Œ
}

์•„๋งˆ๋„ ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ socket.io๋ฅผ es5 ๋กœ ๋ณ€ํ™˜ ๋˜๋Š” ๋””๋ฒ„๊ทธ

๋‚˜๋Š” ๋””๋ฒ„๊ทธ/src/browser.js๋ฅผ ๋ณ€ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด babel๊ณผ webpack์„ ์–ป์œผ๋ ค๊ณ  ํ•˜๋ฃจ ์ข…์ผ ๋…ธ๋ ฅํ–ˆ๊ณ  ๋‚ด๊ฐ€ ์šฐ์—ฐํžˆ ๋ฐœ๊ฒฌํ•œ ๋งŽ์€ ์Šค๋ ˆ๋“œ์—์„œ ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ์ด ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ์—”์ง€๋‹ˆ์–ด๋ง ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , socket.io v2.2.0์—๋Š” 'ws' v7.1.2( websockets/ws#1617 )์—์„œ ์ˆ˜์ •๋œ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์‹ ์ค‘ํ•˜๊ฒŒ ๋‹ค์šด๊ทธ๋ ˆ์ด๋“œํ•˜์‹ญ์‹œ์˜ค.

์ˆ˜์ •: ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค
๋‚ด๊ฐ€ ์ฐพ์€ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒŒ์‹œ๋ฌผ์€ webpack์—์„œ /node_modules/ ์ œ์™ธ๋ฅผ ์ค‘์ง€ํ•  ๊ฒƒ์„ ๊ถŒ์žฅํ–ˆ์ง€๋งŒ ์ž‘๋™ํ•˜์ง€ ์•Š์•˜๊ณ  ์†๋„๋„ ๋Š๋ฆฝ๋‹ˆ๋‹ค. (์›นํŒฉ์ด ํŒŒ์ผ์„ ์น˜๊ณ  ์žˆ๋‹ค๊ณ  ํ™•์‹ ํ•˜์ง€๋งŒ babel์€ ๊ทธ๊ฒƒ์„ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์•„๋งˆ๋„ babel/preset-env์™€ ๊ด€๋ จ์ด ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค)

๋Œ€์‹ , ๋ฐฉ๊ธˆ debug-es5 ๋ฅผ ์„ค์น˜ํ–ˆ๊ณ  webpack.config.js์— ์ด๊ฒƒ์„ ์ถ”๊ฐ€ํ•˜์—ฌ debug ๋Œ€์‹  webpack์—์„œ ์‚ฌ์šฉํ•˜๋„๋ก ํ–ˆ์Šต๋‹ˆ๋‹ค.

  resolve: {
    alias: {
      debug: 'debug-es5',
    },
  },

๋•๋ถ„์— ์ž‘์—… ์‹œ๊ฐ„์ด ์ ˆ์•ฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

๊ธฐ๋ณธ Webpack ๊ตฌ์„ฑ์œผ๋กœ ํ•ด๊ฒฐ๋œ ์ด ๋ฌธ์ œ๋กœ ์•„์ฃผ ์ž‘์€ ์ €์žฅ์†Œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. https://github.com/kmaraz/debug-to-es5

debug ์ข…์†์„ฑ์ด 3.1.0 ๋กœ ๋˜๋Œ์•„๊ฐ”์œผ๋ฉฐ, ์ด๋Š” ๋ณ€ํ™˜ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. 2.3.1 ์—์„œ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊ทธ ์ข…์†์„ฑ์— ๋Œ€ํ•œ ํ˜ธ์ถœ์„ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด webpack-remove-debug ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค( ์žˆ๊ฑฐ๋‚˜ ์—†๋Š” ๋นŒ๋“œ๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ ์ ˆํ•œ ๋ฐฉ๋ฒ•์„ ์ฐพ์„ ๋•Œ๊นŒ์ง€).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰