const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const {CleanWebpackPlugin} = require('clean-webpack-plugin'); module.exports = { entry: './src/app.js', output: { filename: 'script.js', path: path.resolve(__dirname, 'dist'), }, devServer: { compress: true, port: 9000, }, plugins: [ new CleanWebpackPlugin(), new HtmlWebpackPlugin({ filename: 'index.html', template: './src/app.html' }), new MiniCssExtractPlugin({ filename: 'style.css', }), ], module: { rules: [ { test: /\.html$/i, loader: 'html-loader', }, { test: /\.css$/i, use: [MiniCssExtractPlugin.loader, 'css-loader'], }, { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader" }, { test: /\.(gif|png|jpe?g|svg)$/i, use: [ { loader: 'image-webpack-loader', options: { quality: 80 }, }, { loader: 'url-loader', options: { limit: 200000, }, }, ], }, { test: /\.(woff|woff2|eot|ttf|otf)$/, use: [ 'file-loader', ], }, ], }, };