์นํฉ #webpack #๋ชจ๋(6)
-
Webpack - (8) ์นํฉ ์ค์ ๋ถ๋ฅํ๊ธฐ
Mode์นํฉ ์คํ ์ mode ๋ผ๋ ์์ฑ์ผ๋ก ์ธ๊ฐ์ง ๋ชจ๋๋ฅผ ์ค์ ํ ์ ์์ผ๋ฉฐ, ์ค์ ํ์ง ์์ผ๋ฉด ๊ธฐ๋ณธ์ผ๋ก production ๋ชจ๋๊ฐ ์คํ๋ฉ๋๋ค.none๋ชจ๋ ์ค์ ์ ํจdevelopment๊ฐ๋ฐ ๋ชจ๋์นํฉ ๋ก๊ทธ, ๊ฒฐ๊ณผ๋ฌผ ์ ๊ณตproduction๋ฐฐํฌ ๋ชจ๋์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด ์ต์ข ๋ฒ๋ค์ ํฌ๊ธฐ๋ฅผ ์ค์ด๊ณ ํ์ผ์ ์์ถํ๋ ๋ฑ์ ์์ ์ํ// webpack.config.jsmodule.exports = { mode: 'none'. entry: '', ...} ์คํ ๋ชจ๋์ ๋ฐ๋ผ ์นํฉ ์ค์ ๋ฌ๋ฆฌํ๊ธฐ์นํฉ์ผ๋ก ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋๋ ๊ฐ๋ฐํ ๋์ ๊ฐ๋ฐ ํ ๋ฐฐํฌํ ๋๋ฅผ ๊ตฌ๋ถํ์ฌ ์นํฉ์ ์ค์ ํด์ฃผ์ด์ผ ํฉ๋๋ค.์์) ์นํฉ ์ค์ ํ์ผ์ด 1๊ฐ์ธ ์ํ์์ ์นํฉ ์ค์ ๋ถ๊ธฐ ์ฒ๋ฆฌ// webpack.config.jsmodu..
2024.07.22 -
Wepack - (7) ์ฃผ์ ๊ธฐ๋ฅ ์ธ์ ๋ ์ด๋ค ๊ธฐ๋ฅ์ ์ง์ํด์ค๊น?
devServer๊ฐ๋ฐ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ ์์ฑ์ ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.Live Reloading: ์์ค ์ฝ๋ ๋ณ๊ฒฝ ํ ํด๋น ํ์ผ์ ๋ํ ๋น๋ ๋ช ๋ น์ด๋ฅผ ์คํํ์ง ์์๋ ์๋์ผ๋ก ๋น๋ ๋์ด ๋ธ๋ผ์ฐ์ ๊ฐ ์๋ก๊ณ ์นจ ๋จHot Module ๊ต์ฒด: ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ๋ชจ๋์ด ๋ณ๊ฒฝ๋์์ ๋ ์ ์ฒด ํ์ด์ง๋ฅผ ์๋ก๊ณ ์นจ ํ์ง ์๊ณ ๋ณ๊ฒฝ๋ ๋ถ๋ถ๋ง ์ค์๊ฐ์ผ๋ก ๊ต์ฒดํ์ฌ ๋น ๋ฅธ ๊ฐ๋ฐ ์ฌ์ดํด ์ง์๋๋ฒ๊น ์ง์: Source Maps ๋ฅผ ํตํด ๋ธ๋ผ์ฐ์ ๋๋ฒ๊น ๋๊ตฌ์์ ์๋ณธ ์์ค๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๋ฒ๊น ๊ฐ๋ฅdevServer ๋ก ๋น๋ํ ๊ฒฐ๊ณผ๋ฌผ์ ํ์ผ๋ก ์์ฑ๋์ง ์๊ณ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ฉ๋๋ค.๊ทธ๋์ ๊ฐ๋ฐ์๊ฐ ์์ค ์ฝ๋๋ฅผ ์์ ํ ๋๋ง๋ค, ์ฆ์ ๋ฉ๋ชจ๋ฆฌ์์ ์๋ก์ด ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ ์ ๊ณตํ ์ ์๋ ๊ฒ์ ๋..
2024.07.21 -
Webpack - (5) ์นํฉ์ ์์ฑ๋ค์ ์์๋ณด์
์์ฃผ ์ฌ์ฉํ๋ ์ฃผ์ ์์ฑ๋ค์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.// webpack.config.jsmodule.exports = { entry: '', output: '', module: '', plugin: '' ...} Entry์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฒ๋ค๋ง ์์์ (ํ์ผ ๊ฒฝ๋ก)์ ์ค์ ํ๋ ์์ฑ์ ๋๋ค.entry ์์ฑ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉ๋๋ ๋ชจ๋๋ค์ ์ฐ๊ด ๊ด๊ณ๋ฅผ ์ดํดํ๊ณ ๋ถ์ํ๊ธฐ ๋๋ฌธ์ entry ํ์ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋์์ํฌ ์ ์๋ ๋ด์ฉ๋ค์ด ๋ด๊ฒจ์ ธ ์์ด์ผ ํฉ๋๋ค. (Javascript ํ์ผ, ์คํ์ผ ์ํธ, ์ค์ ํ์ผ ๋ฑ) ์์) ์ํ ์น ์๋น์ค ์ฑ๊ธ ํ์ด์ง ์นํฉ ๋น๋// webpack.config.jsmodule.exports = { entry: './src/index.js'}// src/index..
2024.07.19 -
Webpack - (4) ์ด์ ๊ฐ๋จํ๊ฒ ์นํฉ์ ์ฌ์ฉํด๋ณด์
์นํฉ ์คํ์ ์ํ ๊ฐ๋ฐ ํ๊ฒฝNode.js LTS ๋ฒ์ 10 ์ด์NPM ๋ฒ์ 6 ์ด์ ์น ํ์ด์ง ์์ ๊ตฌ์ฑ1. ๋น ํด๋์ package.json ํ์ผ์ ์์ฑํฉ๋๋ค.npm init -y 2. ๊ฐ์ ๊ฒฝ๋ก์ ์นํฉ ๊ด๋ จ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ lodash ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ค์นํฉ๋๋ค.npm i webpack webpack-cli -Dnpm i lodash 3. index.html ํ์ผ์ ์์ฑํ๊ณ ์๋ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค. 4. ํ๋ก์ ํธ ๋ฃจํธ ๋ ๋ฒจ์ src ํด๋๋ฅผ ์์ฑํ๊ณ index.js ํ์ผ์ ์์ฑํฉ๋๋ค.function component() { var element = document.createElement('div'); /* lodash is required for the next line to work ..
2024.07.18 -
Webpack - (3) Node.js ์ NPM ์ ์๋ ๊ฒ์ด ํ์ด๋ค.
Node.js ์ NPM์ ์๋ฉด ์นํฉ์ ๋ค๋ฃจ๊ธฐ ์ฉ์ดํด์ง๋๋ค. Node.js์๋ฐ์คํฌ๋ฆฝํธ ์ฝ๋๋ฅผ ์๋ฒ์์ ์คํํ๊ธฐ ์ํ ๋ฐํ์ ํ๊ฒฝ์ ๋๋ค.์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ๋ฐฑ์๋์์๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋์ ์ธ์ด๋ก ์์ฑํ ์ ์์ต๋๋ค. Node.js ์คํApp.js ํ์ผ์์ ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ ,// App.jsconsole.log('hello')ํฐ๋ฏธ๋์ ์ด์ฉํ์ฌ ํด๋น ๊ฒฝ๋ก์์ node ๋ช ๋ น์ด๋ก ํ์ผ์ ์คํํ๋ฉด "hello"๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค.node App.js NPM(Node Package Manager)์๋ฐ์คํฌ๋ฆฝํธ์ ํจํค์ง ๊ด๋ฆฌ์์ ๋๋ค.Node.js ์ ๊ธฐ๋ณธ ํจํค์ง ๊ด๋ฆฌ์ ์ญํ ์ ํ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋ ๋ค์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๊ตฌ๋ฅผ ์ค์นํ๊ณ ๊ด๋ฆฌํ๋๋ก ๋์์ค๋๋ค.*NPM ์ Node.js ..
2024.07.17 -
Webpack - (2) ์ ์นํฉ์ ์ฌ์ฉํ ๊น ?
์ ์นํฉ์ ์ฌ์ฉํ ๊น?์๋ฐ์คํฌ๋ฆฝํธ ํ์ผ์ ์์กด์ฑ ๊ด๋ฆฌ ๋ฌธ์ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ ๋ณต์กํด์ง๊ณ ๋๊ท๋ชจํ๋๋ฉด์ ์ฝ๋ ๊ด๋ฆฌ์ ์์กด์ฑ ๊ด๋ฆฌ์ ์ด๋ ค์์ด ์๊ฒผ์ต๋๋ค. ์๋ฐ์คํฌ๋ฆฝํธ์ ๋ณ์๋ ์ ์ญ์ ์ธ ์ ํจ ๋ฒ์๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์ ์ด๋์๋ ์ฝ๊ฒ ์ ๊ทผ์ด ๊ฐ๋ฅํด์ง๋๋ค. ์ผํ ๋ค์ผ๋ฉด ์ข์ ์ ๊ฐ์ง๋ง, ์ด๋์๋ ์ ๊ทผ์ด ๊ฐ๋ฅํ ๊ฒฝ์ฐ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.// app.jsvar num = 10;function getNum() { console.log(num);}// main.jsvar num = 20;function getNum() { console.log(num);} ์ด๋, ๊ธฐ๋๋๋ num ์ ๊ฐ์ ๊ฐ๊ฐ 10, 20์ด์ง๋ง, ๊ฒฐ๊ณผ๋ 20๋ง ์ถ๋ ฅ๋ฉ๋๋ค.๋์ผํ ์ด๋ฆ์ ์ ์ญ ๋ณ์๋ฅผ ๊ตฌ๋ถ ์ง์ง ๋ชปํ๊ณ ๊ฐ..
2024.07.17