mesto
/
webpack.config.js
61 строка · 1.4 Кб
1const path = require('path');2const HtmlWebpackPlugin = require('html-webpack-plugin');3const { CleanWebpackPlugin } = require('clean-webpack-plugin');4const MiniCssExtractPlugin = require('mini-css-extract-plugin');5
6module.exports = {7entry: { main: './src/pages/index.js' },8output: {9path: path.resolve(__dirname, 'dist'),10filename: 'main.js',11publicPath: '',12},13mode: 'development',14devServer: {15static: path.resolve(__dirname, './dist'),16compress: true,17port: 8080,18open: true,19},20module: {21rules: [22{23test: /\.js$/,24use: 'babel-loader',25exclude: /node_modules/,26},27{28test: /\.(png|svg|jpg|jpeg|gif)$/,29type: 'asset/resource',30generator: {31filename: 'images/[name].[hash][ext]',32},33},34{35test: /\.(woff|woff2|eot|ttf|otf)$/i,36type: 'asset/resource',37generator: {38filename: 'fonts/[name].[hash][ext]',39},40},41{42test: /\.css$/,43use: [44MiniCssExtractPlugin.loader,45{46loader: 'css-loader',47options: { importLoaders: 1 },48},49'postcss-loader',50],51},52],53},54plugins: [55new HtmlWebpackPlugin({56template: './src/index.html',57}),58new CleanWebpackPlugin(),59new MiniCssExtractPlugin(),60],61};62