웹팩 : 여러 모듈을 번들화 해서 하나로 묶어준다.
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const MiniCssExtractPlugin = require('mini-css-extract-plugin');
const path = require('path');
module.exports = {
mode: 'development',
entry: './src/index.js',
output: {
path: path.resolve(__dirname, './dist'), // 결과물 경로
filename: 'bundle.js', // 결과물 파일명
},
resolve: {
extensions: ['.js', '.jsx'],
},
devtool: 'eval-cheap-source-map',
devServer: {
port: 9000, //port 번호 바꾸기
hot: true, //수정 여부 바로 확인
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: '/node_modules/',
loader: 'babel-loader',
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
//use: [MiniCssExtractPlugin.loader, 'css-loader'],
},
{
test: /\.(jpeg|jpg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]',
},
},
],
},
plugins: [
new CleanWebpackPlugin(),
new HtmlWebpackPlugin({
template: './public/index.html',
}),
new MiniCssExtractPlugin({ filename: 'app.css' }),
],
};