์›นํŒฉ ๋นŒ๋“œ๋ถ€ํ„ฐ ๋ฐฐํฌ๊นŒ์ง€ ํ—˜๋‚œํ•œ ์‚ฝ์งˆ ๊ณผ์ •
728x90

์ด๋ฒˆ์—๋Š” netlify ๊ฐ™์€ ์„œ๋น„์Šค์˜ ๋„์›€์„ ๋ฐ›์ง€ ์•Š๊ณ , ์›นํŒฉ์œผ๋กœ ๋นŒ๋“œํ•ด๋ณด๊ณ  Github Pages์—์„œ ๋ฐฐํฌํ•ด๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค.

์ผ๋‹จ ๋นŒ๋“œํ•˜๋Š” ๋ฐ๋„ ์‚ฝ์งˆ์„ ๋งŽ์ด ํ–ˆ์ง€๋งŒ, ๋ฐฐํฌํ•˜๊ณ  ๋‚˜๋‹ˆ ๋กœ์ปฌํ™˜๊ฒฝ์—์„  ์ž˜ ๋™์ž‘ํ–ˆ๋˜ ๊ฒŒ ๋จนํ†ต์ด ๋˜์–ด์„œ (...)

๋˜ ํ•œ๋ฐ”ํƒ• ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค.

์•„์ง ์˜จ์ „ํžˆ ์›นํŒฉ์„ ์ดํ•ดํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ,

ํ˜„์žฌ ๋ฐฐํฌ๊นŒ์ง€๋Š” ํ•ด๊ฒฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ์—” ์ด ๋งŒํผ์˜ ์‚ฝ์งˆ์„ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด ๊ธฐ๋กํ•œ๋‹ค... ๐Ÿ˜‡

 

 

๊ทธ๋ž˜์„œ ์›นํŒฉ์ด ๋ญ”์ง€?...

์›นํŒฉ.. ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๊ณต๋ถ€ํ•˜๋‹ค ๋ณด๋ฉด ํ•œ๋ฒˆ์ฏค์€ ๋“ค์–ด๋ดค์„ ๋ฒ•ํ•œ ์ด๋ฆ„.

 

์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ์—ฌ๋Ÿฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ชจ๋‘ ์ˆ˜๋งŽ์€ ์ž์›๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

HTML, CSS, JavaScript ํŒŒ์ผ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŽ˜์ด์ง€๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์ด๋ฏธ์ง€, ํฐํŠธ ๋“ฑ๋“ฑ..

๋งŒ๋“ค ๋•Œ์•ผ ๊ฐ๊ฐ์˜ ์ž์›๋“ค์„ ํ•„์š”์— ๋”ฐ๋ผ์„œ ๊ตฌ์„ฑํ•ด์•ผํ•˜๋‹ˆ ์ƒ๊ด€์—†์ง€๋งŒ,

์‹ค์ œ๋กœ ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์ˆ˜๋งŽ์€ ์ž์›๋“ค์„ ์„œ๋ฒ„์—์„œ ๊ฐ€์ ธ์˜จ๋‹ค๋ฉด.. ์•„๋ฌด๋ž˜๋„ ๊ทธ๋งŒํผ ๋กœ๋”ฉ ์†๋„๋„ ๊ธธ์–ด์งˆ ๊ฒƒ์ด๋‹ค.

์ด๊ฒƒ์€ ์„ฑ๋Šฅ๋„ ๊ทธ๋ ‡์ง€๋งŒ, ์‚ฌ์šฉ์ž์˜ ์ž…์žฅ์—์„œ ์‚ฌ์šฉ ๊ฒฝํ—˜์„ ์ข‹์ง€ ์•Š๊ฒŒ ๋งŒ๋“œ๋Š” ์š”์†Œ๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ธฐ๋„ ํ•˜๋‹ค.

 

 

์ ์šฉํ•œ ๊ฒฐ๊ณผ๋ถ€ํ„ฐ ๋ณด์ž๋ฉด,

์‹ค์ œ๋กœ ์›นํŒฉ์„ ์ ์šฉํ•œ ํ›„, ํŽ˜์ด์ง€๊ฐ€ ๋„˜์–ด๊ฐ”์„ ๋•Œ ๋‹จ ํ•˜๋‚˜์˜ ํŒŒ์ผ์ธ info.app.js๋งŒ ๋กœ๋“œ๋˜์—ˆ์Œ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ด์™ธ์—๋„ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ณ€์ˆ˜์˜ ์œ ํšจ ๋ฒ”์œ„ ์ •ํ•œ๋‹ค๊ฑฐ๋‚˜,

์„œ๋ฒ„๋กœ ๋ณด๋‚ด๋Š” HTTP ์š”์ฒญ ์ˆซ์ž๋ฅผ ์ œ์•ฝํ•œ๋‹ค๋˜๊ฐ€... ํ•˜๋Š” ๋ฌธ์ œ๋“ค์„ ์›นํŒฉ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค.

info.app.js์— ํฌํ•จ๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ๋“ค์€ ์—ฌ๋Ÿฌ๊ฐœ~

 

์•„๋ฌดํŠผ ์ด ์›นํŒฉ์€ ์ด๋Ÿฐ ์ˆ˜๋งŽ์€ ์ž์›๋“ค์„ ํ•˜๋‚˜์˜ ํŒŒ์ผ๋กœ ํ•ฉ์ณ์ฃผ๋Š” ์—ญํ• ์„ ํ•˜๊ณ  ์žˆ๋‹ค.

์ด๋Ÿฐ ๊ฒƒ์„ ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ-๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์›นํŒฉ์ด ์ตœ์‹  ํ”„๋ŸฐํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š” ๋ชจ๋“ˆ ๋ฒˆ๋“ค๋Ÿฌ๋ผ๊ณ  ํ•œ๋‹ค.

์ถœ์ฒ˜: ์›นํŒฉ ํ•ธ๋“œ๋ถ https://joshua1988.github.io/webpack-guide/webpack/what-is-webpack.html#%EC%9B%B9%ED%8C%A9%EC%9D%B4%EB%9E%80

 


์‚ฌ์šฉํ•ด๋ณด๊ธฐ -์‚ฝ์งˆ ์‹œ์ž‘-

์ด๋ž˜์ €๋ž˜ ์„ค์น˜ํ•˜๊ณ , ์›นํŒฉ ์„ค์ • ํŒŒ์ผ์ธ webpack.config.js๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

 

 

Entry

์›นํŒฉ์ด ๋นŒ๋“œ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๋Š” Entry.

๋‚˜์˜ ๊ฒฝ์šฐ๋Š” ๋ฉ€ํ‹ฐ ํŽ˜์ด์ง€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด๊ธฐ๋„ ํ–ˆ๊ณ ,

๋‚˜๋Š” ๊ฒ€์ƒ‰ ํŽ˜์ด์ง€, ์ •๋ณด ์ถœ๋ ฅ ํŽ˜์ด์ง€(info.html)์— ์ ์šฉํ•˜๊ณ  ์‹ถ์€ js ํŒŒ์ผ๋“ค์ด ๊ฐ๊ฐ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ๋ฅผ ๋‘ ๊ฐœ๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.

 

 

Output

์›นํŒฉ์˜ ๊ฒฐ๊ณผ๋ฌผ ํŒŒ์ผ ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•˜๋Š” Output์—์„œ๋Š” ํŒŒ์ผ ์ด๋ฆ„ ์˜ต์…˜์„ ๋„ฃ์–ด์„œ,

entry ์†์„ฑ์„ ํฌํ•จํ•ด์„œ ํŒŒ์ผ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ–ˆ๋‹ค.

 

 

Loader

๋กœ๋”๋Š” ์›นํŒฉ์ด ํŒŒ์ผ์„ ํ•ด์„ํ•  ๋•Œ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๊ฐ€ ์•„๋‹Œ ํŒŒ์ผ๋“ค์„ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค.

์ด๋ฏธ์ง€, CSS ๋“ฑ๋“ฑ.. ์—ฌ๋Ÿฌ ํŒŒ์ผ๋“ค์„ ํŒŒ์‹ฑ ํ•ด์„œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋Š” ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด์„œ Babel-loader๋ฅผ ์„ค์ •ํ•ด์ฃผ์—ˆ๋‹ค.

CSS๋‚˜ SCSS๋„ Loader๋ฅผ ์ด์šฉํ•ด์„œ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋Š” ์—ฌ๊ธฐ์„  ์›นํŒฉ์œผ๋กœ ํ•˜์ง€ ์•Š๊ณ , ๋ณ„๋„๋กœ postcss, cssnano, autoprefixerd๋ฅผ ์ด์šฉํ•ด์„œ ๋”ฐ๋กœ ๋นŒ๋“œํ–ˆ๋‹ค.

 

 

Plugin

ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋ณ€ํ™˜ํ•œ ๊ฒฐ๊ณผ๋ฌผ์˜ ํ˜•ํƒœ๋ฅผ ๋ฐ”๊พธ๋Š” ์—ญํ• ์ธ๋ฐ,

HTML ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ๋นŒ๋“œํ•œ ๊ฒฐ๊ณผ๋ฌผ๋กœ HTML ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ฃผ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

๋‚˜๋Š” ์ ์šฉํ•˜๋ ค๋Š” ํŒŒ์ผ์ด 3๊ฐœ๋ผ์„œ, ๊ฐ๊ฐ์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค.

chunks๋ผ๋Š” ์†์„ฑ์œผ๋กœ ์—”ํŠธ๋ฆฌ ํฌ์ธํŠธ๋กœ ๋ถ„๋ฆฌํ•œ js ํŒŒ์ผ์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

Build & Deploy

๊ทธ๋ฆฌ๊ณ  package.json์— ๋นŒ๋“œ๋ผ๋Š” ์ด๋ฆ„์œผ๋กœ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์„ฑ๊ณตํ–ˆ๋‹ค๋ฉด!

์ƒˆ๋กœ์šด ๋””๋ ‰ํ† ๋ฆฌ์— ๋ณ€ํ™˜๋œ ํŒŒ์ผ๋“ค์ด ์žˆ์„ ๊ฒƒ..

 

 

๋ฐฐํฌ ๊ฐ™์€ ๊ฒฝ์šฐ๋Š” Gitgub Pages๋กœ ์ง„ํ–‰ํ–ˆ๋‹ค.

ํŒจํ‚ค์ง€๋ฅผ ์„ค์น˜ํ•ด์ฃผ๊ณ , pacakage.json์— ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ•ด์ฃผ๊ณ -..

๋ญ ์ž์„ธํžˆ ์„ค๋ช…๋œ ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋“ค์ด ๋งŽ์œผ๋ฏ€๋กœ ์ƒ๋žต..

์ •์ƒ์ ์œผ๋กœ ๋ฐฐํฌ๋˜์—ˆ๋‹ค๋ฉด ํ„ฐ๋ฏธ๋„์— ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œฐ ๊ฒƒ์ด๋‹ค.

 

 

์ด์Šˆ....

๊ทธ๋Ÿฐ๋ฐ ๋ฐฐํฌํ•˜๊ณ  ๋ณด๋‹ˆ ๋กœ์ปฌ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋จนํ†ต์ด ๋˜์—ˆ๋‹ค. ๐Ÿ˜‡๐Ÿ˜‡

์ผ๋‹จ ๊ฒ€์ƒ‰ -> ์ƒ์„ธํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๋ฉด์„œ ๋กœ์ปฌ ์Šคํ† ๋ฆฌ์ง€์—์„œ ํ˜„์žฌ ๋‚ ์งœ์™€ ์‹œ๊ฐ„์„ ์ €์žฅํ•˜๋Š” ๋กœ์ง์„ ๋ฐ›์•„์˜ค์ง€ ๋ชปํ•ด์„œ,

๊ฒ€์ƒ‰ ์ชฝ์œผ๋กœ ์‹œ๊ฐ„ ๊ด€๋ จ ๋กœ์ง์„ ์˜ฎ๊ฒผ๋‹ค.

์˜ฎ๊ฒจ์˜จ ์ฝ”๋“œ ์ผ๋ถ€. . .

๊ทธ๋ฆฌ๊ณ  ์ƒ๋Œ€ ๊ฒฝ๋กœ๋กœ ํŒŒ์ผ์„ ์ง€์ •ํ•ด๋†“์•˜๋”๋‹ˆ ๋ฐฐํฌ๋˜์—ˆ์„ ๋•Œ์˜ ๊ฒฝ๋กœ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์•„์„œ ๋™์ž‘์ด ์•ˆ๋˜๊ฑฐ๋‚˜,

์ด๋ฏธ์ง€๊ฐ€ ์ œ๋Œ€๋กœ ๋‚˜์˜ค์ง€ ์•Š๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์—ˆ๋‹ค.

๊ฐœ์ธ์ ์ธ ํ”„๋กœ์ ํŠธ๋ผ ๊ฒฝ๋กœ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ์ชฝ์œผ๋กœ ํ•ด๊ฒฐํ–ˆ์ง€๋งŒ,

jsconfig.json ํŒŒ์ผ๋กœ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๋” ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค..

 

 

์‚ฝ์งˆ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๋ฉฐ...

๋ง‰์ƒ ๊ธ€๋กœ ์“ฐ๋‹ˆ ๋ญ.. ๋ณ„๊ฑฐ ์•„๋‹Œ ๊ฒƒ ๊ฐ™์€ ๋Š๋‚Œ์ด ํฌ์ง€๋งŒ ์‹œํ–‰์ฐฉ์˜ค๊ฐ€ ๋งŽ์•˜๊ณ  ๊ทธ๋งŒํผ ์‹œ๊ฐ„๋„ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋˜ ์ž‘์—…์ด์—ˆ๋‹ค~

์ด๋ฒˆ ๊ธฐํšŒ๋ฅผ ํ†ตํ•ด์„œ ์›นํŒฉ์ด๋ผ๋Š” ๊ฒƒ์„ ๋“œ๋””์–ด ์‚ฌ์šฉํ•ด ๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค!.. ์ด๋Ÿฐ ์ด์œ ๋กœ ์›นํŒฉ์„ ์‚ฌ์šฉํ•˜๋Š”๊ตฌ๋‚˜๋ฅผ ์ƒ๊ฐํ•ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋˜ ์ž‘์—….

์›นํŒฉ.. ๋‹ค์Œ์—” ์ข€ ๋œ ๋‚ฏ์„ค๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€ ์•Š์„๊นŒ.. ๐Ÿค”

 

 

์ฐธ๊ณ 

https://bongra.tistory.com/108

 

[๊ธฐํƒ€] ์›นํŒฉ(webpack)์„ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด, javascriptํŒŒ์ผ์ด ๋งŽ์•„์ง€๊ธฐ ๋งˆ๋ จ์ด๋‹ค.. ๋‹ค์Œ HTMLํŒŒ์ผ์„ ๋ณด์ž. ๋ณด๋ฉด test.js๋ฅผ ์ˆœ์„œ๋Œ€๋กœ 4๊ฐœ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ทผ๋ฐ ๋ณดํ†ต ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด jsํŒŒ์ผ์ด ์ ์–ด๋„ 100๊ฐœ์—์„œ ์ˆ˜๋ฐฑ๊ฐœ๊นŒ์ง€ ๋Š˜์–ด๋‚œ๋‹ค.

bongra.tistory.com

https://joshua1988.github.io/webpack-guide/concepts/plugin.html#plugin

 

Plugin | ์›นํŒฉ ํ•ธ๋“œ๋ถ

Plugin ํ”Œ๋Ÿฌ๊ทธ์ธ(plugin)์€ ์›นํŒฉ์˜ ๊ธฐ๋ณธ์ ์ธ ๋™์ž‘์— ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์†์„ฑ์ž…๋‹ˆ๋‹ค. ๋กœ๋”๋ž‘ ๋น„๊ตํ•˜๋ฉด ๋กœ๋”๋Š” ํŒŒ์ผ์„ ํ•ด์„ํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์— ๊ด€์—ฌํ•˜๋Š” ๋ฐ˜๋ฉด, ํ”Œ๋Ÿฌ๊ทธ์ธ์€ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฌผ์˜ ํ˜•

joshua1988.github.io

 

728x90