Guest User

webpack

a guest
Jul 20th, 2022
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. const path = require("path");
  2. const HtmlWebpackPlugin = require("html-webpack-plugin");
  3. const MiniCssExtractPlugin = require("mini-css-extract-plugin");
  4. const CssMinimizerPlugin = require("css-minimizer-webpack-plugin");
  5.  
  6. const mode =
  7.   process.env.NODE_ENV === "production" ? "production" : "development";
  8.  
  9. module.exports = {
  10.   mode: mode,
  11.   entry: path.resolve(__dirname, "src/front"),
  12.   output: {
  13.     filename: "bundle.js",
  14.     path: path.resolve(__dirname, "src/front/dist"),
  15.     publicPath: "/",
  16.     clean: true,
  17.   },
  18.   devtool: "source-map",
  19.   plugins: [
  20.     new MiniCssExtractPlugin({
  21.       filename: "[name].css",
  22.       chunkFilename: "[id].css",
  23.     }),
  24.     new HtmlWebpackPlugin({
  25.       title: "",
  26.       filename: "index.html",
  27.       template: "src/front/template.html",
  28.     }),
  29.   ],
  30.   module: {
  31.     rules: [
  32.       {
  33.         test: /.js$/,
  34.         exclude: /node_modules/,
  35.         use: {
  36.           loader: "babel-loader",
  37.         },
  38.       },
  39.       {
  40.         test: /\.s(a|c)ss$/,
  41.         exclude: /node_modules/,
  42.         use: [
  43.           MiniCssExtractPlugin.loader,
  44.           {
  45.             loader: "css-loader",
  46.             options: {
  47.               modules: {
  48.                 localIdentName: "[name]__[local]--[hash:base64:5]",
  49.               },
  50.             },
  51.           },
  52.           "postcss-loader",
  53.           "sass-loader",
  54.         ],
  55.       },
  56.     ],
  57.   },
  58.   optimization: {
  59.      minimizer: [new CssMinimizerPlugin()],
  60.   },
  61.   resolve: {
  62.     extensions: ["*", ".js", ".jsx", ".scss"],
  63.   },
  64. };
  65.  
Add Comment
Please, Sign In to add comment