Front End CS ์ง์(10)
-
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 - (6) ์นํฉ Dev ์๋ฒ ์ค์ต
๋ฐ๋ผํ๊ธฐ1. package.json ํ์ผ ์์ฑ์ ์ํด ๋ค์ ๋ช ๋ น์ด ์คํnpm init -y 2. ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น๋ฅผ ์ํด ๋ค์ ๋ช ๋ น์ด ์คํnpm i webpack webpack-cli webpack-dev-server html-webpack-plugin -D 3. package.json ํ์ผ์ scripts ์์ฑ์ ์ปค์คํ ๋ช ๋ น์ด "dev" ์ถ๊ฐ{ ... "scripts": { "dev": "webpack server" },} 4. ํ๋ก์ ํธ ์ต์์ ๋ ๋ฒจ์ index.html ํ์ผ ์์ฑ ํ ์๋ ๋ด์ฉ ์์ฑ Load.. 5. ํ๋ก์ ํธ root ๋ ๋ฒจ์ index.js ํ์ผ์ ์์ฑํ๊ณ ์๋ ๋ด์ฉ ์์ฑvar div = document.querySelector('.c..
2024.07.20 -
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