Jieunny์ ๋ธ๋ก๊ทธ
S4) Unit 3. [์ค์ต] ๋ฆฌ์กํธ ์น์ฑ ๋ฒ๋ค๋ง ํ ๋ฐฐํฌํ๊ธฐ ๋ณธ๋ฌธ
CodeStates/Training
S4) Unit 3. [์ค์ต] ๋ฆฌ์กํธ ์น์ฑ ๋ฒ๋ค๋ง ํ ๋ฐฐํฌํ๊ธฐ
Jieunny 2023. 3. 21. 13:07๐ฃ ๋๋ง์ ์๊ณ ๋ผ์คํ ์ด์ธ (๋ฆฌ์กํธ ๋ฆฌํฉํ ๋ง) ์น์ฑ ๋ฒ๋ค๋ง ํ ๋ฐฐํฌํ๊ธฐ
๐จ ๋ ๋ค ๋ฐ๋ผํ๋ค๊ฐ ๋ญ ์๋ชป๋ง์ก๋์ง ๋ฆฌ์ก๋ ์ฑ ์์ฒด๊ฐ ์์ผ์ ธ์ ์ ํ์ ๋ง๋ค์๋ค..
์๋ฒ๋ ์ฐ๊ฒฐ ์ด๋ป๊ฒ ํ๋๊ฑด๋ฐ..
๐ญ. ๊ฐ๋ฐํ๊ฒฝ ์ด๊ธฐํ
npm i -y
๐ฎ. ๋ฆฌ์กํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
npm i react react-dom
๐ฏ. ์นํฉ ์ค์น
npm i -D webpack webpack-cli
๐ฐ. package.json ์์
"build": "webpack",
โฐ build๋ฅผ webpack์ผ๋ก ์์ ํด์ค๋ค.
๐ฑ. ๋ฐ๋ฒจ ์ค์น
npm i -D babel-loader @babel/core @babel/preset-env @babel/preset-react
โฐ JSX๋ฌธ๋ฒ์ผ๋ก ์์ฑ๋ ์ฝ๋๋ ๋ฐ๋ฒจ์ ํตํด์ JS์ฝ๋๋ก ๋ณํํด์ ๋ฒ๋ค๋ง ํด์ค์ผ ํ๋ค.
๐ฒ. CSS ๋ฒ๋ค๋ง
npm i -D css-minimizer-webpack-plugin
npm i -D mini-css-extract-plugin
// CSS ํ์ผ์ ํ์ค๋ก ์์ถ
๐ณ. HTML ๋ฒ๋ค๋ง
npm install -D html-webpack-plugin
๐ด. loader ์ค์น
npm i file-loader -D
โฐ ์ด๋ฏธ์ง ํ์ผ์ ๋ฒ๋ค๋ง ํ๊ธฐ ์ํด์ ์ค์นํด์ค์ผ ํ๋ค.
โฐ ์ฒ์์ ์ํด์คฌ๋๋ ์๋ฌ๋จ..
๐ต. webpack.config.js ํ์ผ ์์ฑ ๋ฐ ๊ตฌํ
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
module.exports = {
entry: './src/index.js', // ๋น๋ ์์ ์์น
output: {
// ๋น๋๊ฒฐ๊ณผ ์ ์ฅ ์์น
filename: 'app.bundle.js',
path: path.resolve(__dirname, 'docs'),
clean: true,
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: [
['@babel/preset-env'],
['@babel/preset-react', { runtime: 'automatic' }],
],
},
},
},
{
test: /\.css$/,
use: [MiniCssExtractPlugin.loader, 'css-loader'],
exclude: /node_modules/,
},
{
test: /\.jpeg$/,
use: [
{
loader: 'file-loader',
options: {
name: '[name].[ext]'
// ์ด๋ฆ์ด ๋๋คํ ํด์๊ฐ์ผ๋ก ์์ฑ๋๋ ๊ฒ์ ๋ง๊ธฐ ์ํด ์ด๋ฆ์ ๋ฐ๋ก ์ค์ ํด์ค๋ค.
}
},
],
} ,
],
},
optimization: {
minimizer: [
new CssMinimizerPlugin(), // css๋ฅผ ์ค์ฌ์ฃผ๋ ํ๋ฌ๊ทธ์ธ
],
},
plugins: [
new HtmlWebpackPlugin({
template: './public/index.html',
}),
new MiniCssExtractPlugin({
filename: 'style.css',
}),
],
};
๐ญ๐ฌ. ๋น๋ํ๊ธฐ
npm run build
โฐ ๊นํ๋ธ์ ๋ฐฐํฌํ ๊ฑฐ๊ธฐ ๋๋ฌธ์ ์ฒ์๋ถํฐ docs ํด๋์ ๋น๋ ํด์คฌ๋ค.
๐ ๋ฐฐํฌ ๋งํฌ
https://jieuny0314.github.io/Agorastates-react/
'CodeStates > Training' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
S4) Unit 11. ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด(์์ด, ์กฐํฉ, Greedy, ๋ฉฑ์งํฉ) (0) | 2023.04.06 |
---|---|
S4) Unit 4. [์ค์ต] Custom Hook (0) | 2023.03.24 |
S4) Unit 3. [์ค์ต] ๊ฐ๋จํ ์น์ฑ ๋ฒ๋ค๋ง ํ ๋ฐฐํฌํ๊ธฐ (0) | 2023.03.20 |
S4) Unit 2. [์ค์ต] ๋ฐ์ํ ์น ๊ตฌํํ๊ธฐ (0) | 2023.03.17 |
S4) Unit 1. [์ค์ต] Tree & Graph ๋ฌธ์ (0) | 2023.03.15 |