Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const path = require('path');
- const HtmlWebpackPlugin = require('html-webpack-plugin');
- const CopyWebpackPlugin = require('copy-webpack-plugin');
- const MiniCssExtractPlugin = require('mini-css-extract-plugin');
- const config = {
- entry: {
- app: './src/app.js'
- },
- output: {
- path: path.resolve(__dirname, 'public'),
- filename: "[name].bundle.js",
- },
- devServer: {
- contentBase: path.join(__dirname,'public'),
- port: 3000,
- },
- plugins: [
- new HtmlWebpackPlugin({
- template: './src/html/index.pug'
- }),
- new CopyWebpackPlugin([
- { from: './src/assets/', to: 'assets/' }
- ]),
- new MiniCssExtractPlugin({
- filename: '/assets/css/style.css',
- chunkFilename: '[id].css',
- ignoreOrder: false, // Enable to remove warnings about conflicting order
- })
- ],
- module: {
- rules: [
- {
- test: /\.pug$/,
- //use: ["pug-loader"],
- loader: 'pug-loader',
- options: {
- pretty: true
- }
- },
- {
- test: /\.css$/,
- use: [
- {
- loader: MiniCssExtractPlugin.loader,
- options: {
- publicPath: 'assets/css',
- //hmr: process.env.NODE_ENV === 'development',
- },
- },
- 'css-loader',
- ],
- },
- {
- test: /\.(png|jp(e*)g|svg|gif)$/,
- use: [
- {
- loader: "file-loader",
- options: {
- name:'[name].[ext]'
- }
- },
- /*{
- loader: 'url-loader',
- options: {
- limit: 8000, // Convert images smaller than 8kb to base64 strings
- name: 'assets/img/[name].[ext]'
- }
- },*/
- ]
- }
- ]
- }
- };
- module.exports = (env, argv) => {if (argv.mode === 'development') {}
- if (argv.mode === 'production') {} return config;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement