Pixi.js: ๋ฒˆ๋“ค๋Ÿฌ ์—†์ด PixiJS๋ฅผ ESM์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ

์— ๋งŒ๋“  2020๋…„ 07์›” 01์ผ  ยท  10์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: pixijs/pixi.js

Snowpack ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Pixi๋ฅผ ๊ฐ€์ ธ์˜ค๋ ค๊ณ  ํ•˜์ง€๋งŒ NPM์˜ Pixi ํŒจํ‚ค์ง€์— esm ํŒŒ์ผ( /lib/pixi.es.js )์ด ํฌํ•จ๋˜์–ด ์žˆ์ง€๋งŒ ๋…ธ๋“œ์˜ ๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ( ์˜ˆ: url ).

Rollup, Webpack ๋˜๋Š” ๊ธฐํƒ€ ๋ฒˆ๋“ค๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  PixiJS๋ฅผ ES ๋ชจ๋“ˆ๋กœ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๐Ÿ™ Feature Request

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

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ESM ๋ฒˆ๋“ค์—์„œ ์ž‘์—…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

Rollup, Webpack ๋ฐ Parcel์€ ๋ชจ๋‘ Node์˜ URL ๋ฐ ๊ฒฝ๋กœ ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•œ ๋‚ด์žฅ ํด๋ฆฌํ•„์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” Snowpack์— ์ต์ˆ™ํ•˜์ง€ ์•Š์ง€๋งŒ ์ด๊ฒƒ์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ํ•จ๊ป˜ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋™์ผํ•œ ์ด๋ฆ„์˜ ๊ณต๊ฐœ ํŒจํ‚ค์ง€(์˜ˆ: url)๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์ด ๋„๊ตฌ๋„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด

๊ทธ๊ฒŒ ๋‹ค์•ผ... ๊ทธ๋Ÿฐ ๋„๊ตฌ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.
Snowpack์€ ์–ด์จŒ๋“  ์ฝ”๋“œ๋ฅผ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค(๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์š”์ ์€ ์•„๋‹™๋‹ˆ๋‹ค). ์•„์ด๋””์–ด๋Š” ๊ฐœ๋ฐฉํ˜• ์›น ํ‘œ์ค€๋งŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์›น ํ‘œ์ค€์ด๋ผ๊ณ  ํ•ด์„œ Pixi๊ฐ€ ์ง€์›ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์ฑ„ํƒ๋ฅ ์ด ๋‚ฎ๊ฑฐ๋‚˜ ์—ฌ์ „ํžˆ ๊ด‘๋ฒ”์œ„ํ•œ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์•„์ง ์ง€์›ํ•˜์ง€ ์•Š๋Š” ์ตœ์‹  ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋Šฅ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ES ๋ชจ๋“ˆ์„ ์ง์ ‘ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ์ฒซ ๋ฒˆ์งธ ์š”์ฒญ์ž…๋‹ˆ๋‹ค. ๋‚˜์œ ์ƒ๊ฐ์€ ์•„๋‹ˆ์ง€๋งŒ ํ˜„์žฌ๋กœ์„œ๋Š” ํฐ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ชจ๋“ˆ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์—์„œ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ๋ฒˆ๋“ค๋กœ ํŠธ๋ฆฌ ์‰์ดํ‚น์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ES ๋นŒ๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋ฉด PR์„ ๊ณ ๋ คํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋„ˆํฌ๋“ค์—๊ฒŒ๋Š” es ๋ชจ๋“ˆ ๋ฒ„์ „์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด ์ฐธ ์•ˆํƒ€๊นŒ์šด ์ผ์ด๋‹ค.

์ด๊ฒƒ์€ ์žˆ์œผ๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•Œ๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‹ค ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ฐ˜ ESM ๋ฒˆ๋“ค์—์„œ ์ž‘์—…ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹น๋ถ„๊ฐ„์€ ์ด๊ฒƒ์„ ๋งŒ๋“ค์—ˆ ์Šต๋‹ˆ๋‹ค . ๋‚ด๊ฐ€ ๊ฐ€์ง„ ๋ฌธ์ œ๋Š” dev ๋ชจ๋“œ์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๋ณ€ํ™˜ํ•˜๋ฉด ๋„ˆ๋ฌด ๋Š๋ ค์ง„๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์†”๋ฃจ์…˜.

@SagnikPradhan 404 ๊นจ์ง„ ๋งํฌ ๐Ÿค”

@DrSensor ๋Š” ์—ฌ๊ธฐ dev ๋ธŒ๋žœ์น˜์˜ ๊ณต์‹ ๋นŒ๋“œ์ž…๋‹ˆ๋‹ค. ์•„์ง ๋ฆด๋ฆฌ์Šค๊ฐ€ ์—†์ง€๋งŒ v5.4.0์— ํฌํ•จ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ

https://github.com/bigtimebuddy/pixi.js-browser-module-example

@DrSensor ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ ์— ์ƒˆ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํŒจํ‚ค์ง€๋กœ ๋ฐ”๊พธ์—ˆ์Šต๋‹ˆ๋‹ค.

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