38 lines
836 B
JavaScript
38 lines
836 B
JavaScript
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',
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /.s?css$/,
|
|
use: [MiniCssExtractPlugin.loader, "css-loader"],
|
|
},
|
|
],
|
|
},
|
|
optimization: {
|
|
minimize: true,
|
|
minimizer: [
|
|
`...`,
|
|
new CssMinimizerPlugin(),
|
|
],
|
|
},
|
|
plugins: [
|
|
new MiniCssExtractPlugin({
|
|
filename: '[name].[contenthash].css'
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
template: "src/index.html"
|
|
}),
|
|
],
|
|
output: {
|
|
filename: '[name].[contenthash].js',
|
|
path: path.resolve(__dirname, 'dist'),
|
|
libraryTarget: 'window',
|
|
clean: true,
|
|
},
|
|
}; |